X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Femul%2Ftimer_posix.c;h=c372bae1c8b6db7b51a70dfeac34e40cb9bc2bfc;hb=78eea60c48fd902dd469654a69b1dcf5abb93f0c;hp=b83480571ac8c830f903a8707429bf8e720875a4;hpb=6bc4dfcaf984da11799932b4fabdf37f49c0cd8d;p=bertos.git diff --git a/bertos/emul/timer_posix.c b/bertos/emul/timer_posix.c index b8348057..c372bae1 100644 --- a/bertos/emul/timer_posix.c +++ b/bertos/emul/timer_posix.c @@ -26,14 +26,12 @@ * invalidate any other reasons why the executable file might be covered by * the GNU General Public License. * - * Copyright 2005,2008 Develer S.r.l. (http://www.develer.com/) - * + * Copyright 2005, 2008 Develer S.r.l. (http://www.develer.com/) * --> * * \version $Id$ * * \author Bernie Innocenti - * * \brief Low-level timer module for Qt emulator (implementation). */ #include // hptime.t @@ -61,7 +59,7 @@ static void timer_hw_init(void) sigaction(SIGALRM, &sa, NULL); // Setup POSIX realtime timer to interrupt every 1/TIMER_TICKS_PER_SEC. - static struct itimerval itv = + static const struct itimerval itv = { { 0, 1000000 / TIMER_TICKS_PER_SEC }, /* it_interval */ { 0, 1000000 / TIMER_TICKS_PER_SEC } /* it_value */ @@ -69,6 +67,16 @@ static void timer_hw_init(void) setitimer(ITIMER_REAL, &itv, NULL); } +static void timer_hw_cleanup(void) +{ + static const struct itimerval itv = + { + { 0, 0 }, /* it_interval */ + { 0, 0 } /* it_value */ + }; + setitimer(ITIMER_REAL, &itv, NULL); +} + INLINE hptime_t timer_hw_hpread(void) { return hptime_get();