diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2019-01-22 15:23:05 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-01-22 15:23:05 +0100 |
commit | 229ea3f23c01543f98f4446bd9092dbf60c983cc (patch) | |
tree | 4f0fffe8a69f93727f7123c4d2f5ce32ad2a958e /winsup/cygwin/signal.cc | |
parent | 4c50dc94c38cca718a7dc8a4f1dd6f2e5b1c4cfb (diff) | |
download | newlib-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.cc | 4 |
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; |