summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/thread/thr_sigaltstack.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libpthread/thread/thr_sigaltstack.c')
-rw-r--r--lib/libpthread/thread/thr_sigaltstack.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/libpthread/thread/thr_sigaltstack.c b/lib/libpthread/thread/thr_sigaltstack.c
index 8a4a457..3153ebd 100644
--- a/lib/libpthread/thread/thr_sigaltstack.c
+++ b/lib/libpthread/thread/thr_sigaltstack.c
@@ -70,16 +70,19 @@ _sigaltstack(stack_t *_ss, stack_t *_oss)
if (_ss != NULL) {
if (oonstack) {
_kse_critical_leave(crit);
- return (EPERM);
+ errno = EPERM;
+ return (-1);
}
if ((ss.ss_flags & ~SS_DISABLE) != 0) {
_kse_critical_leave(crit);
- return (EINVAL);
+ errno = EINVAL;
+ return (-1);
}
if (!(ss.ss_flags & SS_DISABLE)) {
if (ss.ss_size < MINSIGSTKSZ) {
_kse_critical_leave(crit);
- return (ENOMEM);
+ errno = ENOMEM;
+ return (-1);
}
curthread->sigstk = ss;
} else {
OpenPOWER on IntegriCloud