OSDN Git Service

fix ARM types that are known to have MMU's to select ARCH_HAS_MMU
[uclinux-h8/uClibc.git] / librt / timer_delete.c
1 /*
2  * timer_delete.c - delete a per-process timer.
3  */
4
5 #include <errno.h>
6 #include <stdlib.h>
7 #include <time.h>
8 #include <sys/syscall.h>
9
10 #include "kernel-posix-timers.h"
11
12 #ifdef __NR_timer_delete
13
14 #define __NR___syscall_timer_delete __NR_timer_delete
15 static inline _syscall1(int, __syscall_timer_delete, kernel_timer_t, ktimerid);
16
17 /* Delete a per-process timer */
18 int timer_delete(timer_t timerid)
19 {
20     int res;
21     struct timer *kt = (struct timer *) timerid;
22
23     /* Delete the kernel timer object */
24     res = __syscall_timer_delete(kt->ktimerid);
25     if (res == 0) {
26         free(kt);       /* Free the memory */
27         return 0;
28     }
29
30     return -1;
31 }
32
33 #endif