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, (long)t);
+ return __syscall(SYS_timer_delete, t);
}