diff options
Diffstat (limited to 'system/__alarm.c')
| -rw-r--r-- | system/__alarm.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/system/__alarm.c b/system/__alarm.c new file mode 100644 index 0000000..49eb8f6 --- /dev/null +++ b/system/__alarm.c @@ -0,0 +1,17 @@ +#include <asm/unistd.h> +#ifndef __NR_alarm + +#include <unistd.h> +#include <sys/time.h> + +unsigned int alarm(unsigned int seconds) { + struct itimerval old, new; + unsigned int ret; + new.it_interval.tv_usec=0; + new.it_interval.tv_sec=0; + new.it_value.tv_usec =0; + new.it_value.tv_sec =(long)seconds; + if (setitimer(ITIMER_REAL,&new,&old)==-1) return 0; + return old.it_value.tv_sec+(old.it_value.tv_usec?1:0); +} +#endif |
