chiark / gitweb /
[PATCH] klibc: strlcpy/strlcat - don't alter destination if size == 0
[elogind.git] / klibc / klibc / alarm.c
1 /*
2  * alarm.c
3  */
4
5 #include <sys/time.h>
6 #include <sys/syscall.h>
7
8 #ifndef __NR_alarm
9
10 /* Emulate alarm() via setitimer() */
11
12 unsigned int alarm(unsigned int seconds)
13 {
14   struct itimerval iv;
15
16   iv.it_interval.tv_sec = iv.it_interval.tv_usec = 0;
17   iv.it_value.tv_sec = seconds;
18   iv.it_value.tv_usec = 0;
19
20   setitimer(ITIMER_REAL, &iv, &iv);
21
22   return iv.it_value.tv_sec + (iv.it_value.tv_usec ? 1 : 0);
23 }
24
25 #endif