From 12db4373da2db86c53530a377ee958ebcd510a66 Mon Sep 17 00:00:00 2001 From: davidxu Date: Wed, 17 Mar 2004 02:12:19 +0000 Subject: Fix a POSIX conformance bug. POSIX says sigwait should return error number in return value not in errno. --- lib/libpthread/thread/thr_sigwait.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/libpthread') diff --git a/lib/libpthread/thread/thr_sigwait.c b/lib/libpthread/thread/thr_sigwait.c index 76f5368..6f60653 100644 --- a/lib/libpthread/thread/thr_sigwait.c +++ b/lib/libpthread/thread/thr_sigwait.c @@ -178,9 +178,9 @@ __sigwait(const sigset_t *set, int *sig) if (ret > 0) { *sig = ret; ret = 0; + } else { + ret = errno; } - else - ret = -1; _thr_cancel_leave(curthread, 1); return (ret); } @@ -195,7 +195,7 @@ _sigwait(const sigset_t *set, int *sig) *sig = ret; ret = 0; } else { - ret = -1; + ret = errno; } return (ret); } -- cgit v1.1