From 5b74eed3b301e2227385f3bf26d3bb7c2d822cf8 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 15 Feb 2019 15:23:11 -0500 Subject: for SIGEV_THREAD timer threads, replace signal handler with sigwaitinfo this eliminates some ugly hacks that were repurposing the start function and start argument fields in the pthread structure for timer use, and the need to longjmp out of a signal handler. --- src/time/timer_delete.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/time/timer_delete.c') diff --git a/src/time/timer_delete.c b/src/time/timer_delete.c index 7c97eeb1..b0bfac09 100644 --- a/src/time/timer_delete.c +++ b/src/time/timer_delete.c @@ -7,7 +7,7 @@ int timer_delete(timer_t t) if ((intptr_t)t < 0) { pthread_t td = (void *)((uintptr_t)t << 1); a_store(&td->timer_id, td->timer_id | INT_MIN); - __wake(&td->timer_id, 1, 1); + __syscall(SYS_tkill, td->tid, SIGTIMER); return 0; } return __syscall(SYS_timer_delete, t); -- cgit v1.2.1