# HG changeset patch # User arpi # Date 1031602291 0 # Node ID ff1a3a2266634020ca5712f52f30e4289215b086 # Parent dc73db4b6abdfa4ee377a1074d4ab677400664ef unused code also it was never ported to non-linux systems diff -r dc73db4b6abd -r ff1a3a226663 linux/timer.c --- a/linux/timer.c Mon Sep 09 20:07:46 2002 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* POSIX compatible timer callback */ -#include -#include -#include - -#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); -}