mirror of
git://git.musl-libc.org/musl
synced 2025-03-06 20:48:29 +01:00
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.
14 lines
315 B
C
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);
|
|
}
|