summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linux/timer.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/linux/timer.c b/linux/timer.c
deleted file mode 100644
index 306db9c40b..0000000000
--- a/linux/timer.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* POSIX compatible timer callback */
-#include <sys/time.h>
-#include <signal.h>
-#include <stddef.h>
-
-#include "timer.h"
-
-static timer_callback *user_func = NULL;
-static struct itimerval otimer;
-static void (*old_alrm)(int) = SIG_DFL;
-
-static void my_alarm_handler( int signo )
-{
- if(user_func) (*user_func)();
-}
-
-unsigned set_timer_callback(unsigned ms,timer_callback func)
-{
- unsigned ret;
- struct itimerval itimer;
- user_func = func;
- getitimer(ITIMER_REAL,&otimer);
- old_alrm = signal(SIGALRM,my_alarm_handler);
- signal(SIGALRM,my_alarm_handler);
- itimer.it_interval.tv_sec = 0;
- itimer.it_interval.tv_usec = ms*1000;
- itimer.it_value.tv_sec = 0;
- itimer.it_value.tv_usec = ms*1000;
- setitimer(ITIMER_REAL,&itimer,NULL);
- getitimer(ITIMER_REAL,&itimer);
- ret = itimer.it_interval.tv_sec*1000 + itimer.it_interval.tv_usec/1000;
- if(!ret) restore_timer();
- return ret;
-}
-
-void restore_timer(void)
-{
- signal(SIGALRM,old_alrm);
- setitimer(ITIMER_REAL,&otimer,NULL);
-}