summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2005-01-05 09:28:27 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2005-01-05 09:28:27 +0000
commit495e19cae375f41d3d89c70029323a8d69ff1d75 (patch)
tree78653897e5668e8a540ab47867269006d2485e5a
parent62ae977628bbe5d44d2e06af7b5edf96568678f5 (diff)
downloadATCD-495e19cae375f41d3d89c70029323a8d69ff1d75.tar.gz
ChangeLogTag: Wed Jan 5 09:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--ace/OS_NS_Thread.inl11
1 files changed, 8 insertions, 3 deletions
diff --git a/ace/OS_NS_Thread.inl b/ace/OS_NS_Thread.inl
index 47d9f1f7032..2262fae16a2 100644
--- a/ace/OS_NS_Thread.inl
+++ b/ace/OS_NS_Thread.inl
@@ -3391,9 +3391,14 @@ ACE_OS::sigwait (sigset_t *sset, int *sig)
# if (defined (__FreeBSD__) && (__FreeBSD__ < 3)) || defined (CHORUS) || defined (ACE_PSOS)
ACE_UNUSED_ARG (sset);
ACE_NOTSUP_RETURN (-1);
-# elif (defined (ACE_HAS_STHREADS) && !defined (_POSIX_PTHREAD_SEMANTICS))
- *sig = ::sigwait (sset);
- return *sig;
+# elif defined (ACE_HAS_STHREADS)
+ # if (_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS)
+ errno = ::sigwait (sset, sig);
+ return errno == 0 ? *sig : -1;
+ #else
+ *sig = ::sigwait (sset);
+ return *sig;
+ #endif /* _POSIX_C_SOURCE - 0 >= 199506L || _POSIX_PTHREAD_SEMANTICS */
# elif defined (ACE_HAS_PTHREADS)
// LynxOS and Digital UNIX have their own hoops to jump through.
# if defined (__Lynx__)