aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/signal.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-01-22 15:23:05 +0100
committerCorinna Vinschen <corinna@vinschen.de>2019-01-22 15:23:05 +0100
commit229ea3f23c01543f98f4446bd9092dbf60c983cc (patch)
tree4f0fffe8a69f93727f7123c4d2f5ce32ad2a958e /winsup/cygwin/signal.cc
parent4c50dc94c38cca718a7dc8a4f1dd6f2e5b1c4cfb (diff)
downloadnewlib-229ea3f23c01543f98f4446bd9092dbf60c983cc.zip
newlib-229ea3f23c01543f98f4446bd9092dbf60c983cc.tar.gz
newlib-229ea3f23c01543f98f4446bd9092dbf60c983cc.tar.bz2
Cygwin: posix timers: reimplement using OS timer
- Rename files timer.* to posix_timer.*. - Reimplement using an OS timer rather than a handcrafted wait loop. - Use a Slim R/W Lock for synchronization. - Drop timer chaining. It doesn't server a purpose since all timers are local only. - Rename ttstart to itimer_tracker to better reflect its purpose. It's not the anchor for a timer chain anymore anyway. - Drop fixup_timers_after_fork. Everything is process-local, nothing gets inherited. - Rename timer_tracker::disarm_event to disarm_overrun_event for better readability. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/signal.cc')
-rw-r--r--winsup/cygwin/signal.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index fdde260..abefedd 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -21,7 +21,7 @@ details. */
#include "dtable.h"
#include "cygheap.h"
#include "cygwait.h"
-#include "timer.h"
+#include "posix_timer.h"
#define _SA_NORESTART 0x8000
@@ -619,7 +619,7 @@ sigwait_common (const sigset_t *set, siginfo_t *info, PLARGE_INTEGER waittime)
{
timer_tracker *tt = (timer_tracker *)
_my_tls.infodata.si_tid;
- _my_tls.infodata.si_overrun = tt->disarm_event ();
+ _my_tls.infodata.si_overrun = tt->disarm_overrun_event ();
}
if (info)
*info = _my_tls.infodata;