musl/src/time/timer_delete.c
Rich Felker 5b74eed3b3 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.
2019-02-15 15:23:11 -05:00

14 lines
315 B
C

#include <time.h>
#include <limits.h>
#include "pthread_impl.h"
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);
__syscall(SYS_tkill, td->tid, SIGTIMER);
return 0;
}
return __syscall(SYS_timer_delete, t);
}