aboutsummaryrefslogtreecommitdiff
path: root/system/__alarm.c
diff options
context:
space:
mode:
Diffstat (limited to 'system/__alarm.c')
-rw-r--r--system/__alarm.c17
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