diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/signal.cc | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index eedd83467..b5634824b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2012-07-25 Christopher Faylor <me.cygwin2012@cgf.cx> + + * signal.cc (clock_nanosleep): Force return on signal rather than + letting cancelable_wait loop on signal. + 2012-07-25 Corinna Vinschen <corinna@vinschen.de> * syscalls.cc (enum bin_status): Add dir_not_empty. diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc index 8590b32df..f2d68c775 100644 --- a/winsup/cygwin/signal.cc +++ b/winsup/cygwin/signal.cc @@ -120,7 +120,7 @@ clock_nanosleep (clockid_t clk_id, int flags, const struct timespec *rqtp, syscall_printf ("clock_nanosleep (%ld.%09ld)", rqtp->tv_sec, rqtp->tv_nsec); - int rc = cancelable_wait (NULL, &timeout, cw_sig | cw_cancel | cw_cancel_self); + int rc = cancelable_wait (NULL, &timeout, cw_sig_eintr | cw_cancel | cw_cancel_self); if (rc == WAIT_SIGNALED) res = EINTR; |