diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2005-01-05 09:28:27 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2005-01-05 09:28:27 +0000 |
commit | 495e19cae375f41d3d89c70029323a8d69ff1d75 (patch) | |
tree | 78653897e5668e8a540ab47867269006d2485e5a | |
parent | 62ae977628bbe5d44d2e06af7b5edf96568678f5 (diff) | |
download | ATCD-495e19cae375f41d3d89c70029323a8d69ff1d75.tar.gz |
ChangeLogTag: Wed Jan 5 09:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r-- | ace/OS_NS_Thread.inl | 11 |
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__) |