summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
authorThomas Pfaff <tpfaff@gmx.net>2003-05-06 19:39:10 +0000
committerThomas Pfaff <tpfaff@gmx.net>2003-05-06 19:39:10 +0000
commit0bb7254f38500a273041f45b91b80f83f824380e (patch)
tree809926ee6a19f09b84e16c1587d839eb58eee7f2 /winsup/cygwin
parent4c6bc0ed420ae04aaa3dce8c118da0890079958e (diff)
downloadcygnal-0bb7254f38500a273041f45b91b80f83f824380e.tar.gz
cygnal-0bb7254f38500a273041f45b91b80f83f824380e.tar.bz2
cygnal-0bb7254f38500a273041f45b91b80f83f824380e.zip
* signal.cc (nanosleep): Do not wait twice for signal arrival.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/signal.cc2
2 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c625811ff..5bd1942b3 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-06 Thomas Pfaff <tpfaff@gmx.net>
+
+ * signal.cc (nanosleep): Do not wait twice for signal arrival.
+
2003-05-03 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/types.h: Fix erroneous definition of ino_t from
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index 5cadc22bc..547a1285d 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -88,7 +88,7 @@ nanosleep (const struct timespec *rqtp, struct timespec *rmtp)
int rc = pthread::cancelable_wait (signal_arrived, req);
DWORD now = GetTickCount ();
DWORD rem = (rc == WAIT_TIMEOUT || now >= end_time) ? 0 : end_time - now;
- if (WaitForSingleObject (signal_arrived, 0) == WAIT_OBJECT_0)
+ if (rc == WAIT_OBJECT_0)
{
(void) thisframe.call_signal_handler ();
set_errno (EINTR);