X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Ftimer_posix.c;h=6204885e987408fd5433a8d094723e24c9ca1d65;hb=6ca5e6259460b1541d1b6e6d3f1ac9734901f573;hp=c97593c88335ee42afd3f79b541cb314de08f597;hpb=85c1ab406a633641eeadc7d093d68c6f3ef10642;p=bertos.git diff --git a/drv/timer_posix.c b/drv/timer_posix.c index c97593c8..6204885e 100755 --- a/drv/timer_posix.c +++ b/drv/timer_posix.c @@ -14,6 +14,15 @@ /*#* *#* $Log$ + *#* Revision 1.5 2006/02/21 21:28:02 bernie + *#* New time handling based on TIMER_TICKS_PER_SEC to support slow timers with ticks longer than 1ms. + *#* + *#* Revision 1.4 2006/02/17 22:24:21 bernie + *#* Update POSIX timer emulator. + *#* + *#* Revision 1.3 2006/02/10 12:34:52 bernie + *#* Remove spurious EXTERN_C. + *#* *#* Revision 1.2 2006/01/16 03:30:21 bernie *#* Make header C++ friendly. *#* @@ -37,7 +46,7 @@ void timer_isr(int); /// HW dependent timer initialization. -EXTERN_C static void timer_hw_init(void) +static void timer_hw_init(void) { struct sigaction sa; memset(&sa, 0, sizeof(sa)); @@ -49,11 +58,11 @@ EXTERN_C static void timer_hw_init(void) sa.sa_flags = SA_RESTART; sigaction(SIGALRM, &sa, NULL); - // Setup POSIX realtime timer to interrupt every 10ms. + // Setup POSIX realtime timer to interrupt every 1/TIMER_TICKS_PER_SEC. static struct itimerval itv = { - { 0, 1000 }, /* it_interval */ - { 0, 1000 } /* it_value */ + { 0, 1000000 / TIMER_TICKS_PER_SEC }, /* it_interval */ + { 0, 1000000 / TIMER_TICKS_PER_SEC } /* it_value */ }; setitimer(ITIMER_REAL, &itv, NULL); }