diff options
author | Christopher Faylor <me@cgf.cx> | 2012-07-26 02:21:17 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-07-26 02:21:17 +0400 |
commit | 8f748bdaca8be0dcf4b9bd346f47c6159b6fb3a9 (patch) | |
tree | 09547eb3369721522f902c889b068cf896caf68b /winsup | |
parent | a654829ade4e3547302a06abb9e65c03361e9196 (diff) |
* signal.cc (clock_nanosleep): Force return on signal rather than letting
cancelable_wait loop on signal.
Diffstat (limited to 'winsup')
-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; |