From 8f748bdaca8be0dcf4b9bd346f47c6159b6fb3a9 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 25 Jul 2012 22:21:17 +0000 Subject: * signal.cc (clock_nanosleep): Force return on signal rather than letting cancelable_wait loop on signal. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/signal.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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 + + * signal.cc (clock_nanosleep): Force return on signal rather than + letting cancelable_wait loop on signal. + 2012-07-25 Corinna Vinschen * 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; -- cgit v1.2.3