drivers/timers_unix/timers_unix.c
changeset 38 9b5bb1dcb4f5
parent 35 88812de1d7cc
child 48 adc6572caf5d
equal deleted inserted replaced
37:c6ff23a48232 38:9b5bb1dcb4f5
    79 {
    79 {
    80 	pthread_kill(*Thread, SIGTERM);
    80 	pthread_kill(*Thread, SIGTERM);
    81 	pthread_join(*Thread, NULL);
    81 	pthread_join(*Thread, NULL);
    82 }
    82 }
    83 
    83 
    84 #define max(a,b) a>b?a:b
    84 #define maxval(a,b) a>b?a:b
    85 void setTimer(TIMEVAL value)
    85 void setTimer(TIMEVAL value)
    86 {
    86 {
    87 //	printf("setTimer(TIMEVAL value=%d)\n", value);
    87 //	printf("setTimer(TIMEVAL value=%d)\n", value);
    88 	// TIMEVAL is us whereas setitimer wants ns...
    88 	// TIMEVAL is us whereas setitimer wants ns...
    89 	long tv_nsec = 1000 * (max(value,1)%1000000);
    89 	long tv_nsec = 1000 * (maxval(value,1)%1000000);
    90 	time_t tv_sec = value/1000000;
    90 	time_t tv_sec = value/1000000;
    91 	struct itimerspec timerValues;
    91 	struct itimerspec timerValues;
    92 	timerValues.it_value.tv_sec = tv_sec;
    92 	timerValues.it_value.tv_sec = tv_sec;
    93 	timerValues.it_value.tv_nsec = tv_nsec;
    93 	timerValues.it_value.tv_nsec = tv_nsec;
    94 	timerValues.it_interval.tv_sec = 0;
    94 	timerValues.it_interval.tv_sec = 0;