--- signal.cc.org 2003-05-06 15:10:03.000000000 +0200 +++ signal.cc 2003-05-06 15:11:04.000000000 +0200 @@ -88,7 +88,7 @@ nanosleep (const struct timespec *rqtp, 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);