X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Femul%2Ftimer_posix.c;h=d54c61205c33c73c5b78ce2915eb80b2f280ae96;hb=cfa8814ca45e8bae9b36713bc534ecb581834016;hp=ede534063a3fd05100acebe729dc5ed2b18a02ae;hpb=022b3bd1d64ec490ddd0e8e3d72c0d1405504c31;p=bertos.git diff --git a/bertos/emul/timer_posix.c b/bertos/emul/timer_posix.c index ede53406..d54c6120 100644 --- a/bertos/emul/timer_posix.c +++ b/bertos/emul/timer_posix.c @@ -29,17 +29,20 @@ * Copyright 2005, 2008 Develer S.r.l. (http://www.develer.com/) * --> * - * \version $Id$ + * \brief Low-level timer module for Qt emulator (implementation). * + * \version $Id$ * \author Bernie Innocenti - * \brief Low-level timer module for Qt emulator (implementation). */ -#include // hptime.t +//#include // hptime.t #include +#include // irq_register() +#if !CONFIG_KERN_IRQ #include // sigaction() -#include // setitimer() #include // memset() +#endif +#include // setitimer() // Forward declaration for the user interrupt server routine. @@ -48,19 +51,19 @@ void timer_isr(int); /// HW dependent timer initialization. static void timer_hw_init(void) { -#if CONFIG_KERN_IRQ - irq_register(SIGALRM, timer_isr); -#else // ! CONFIG_KERN_IRQ - struct sigaction sa; - memset(&sa, 0, sizeof(sa)); + #if CONFIG_KERN_IRQ + irq_register(SIGALRM, (void (*)(void))timer_isr); + #else // ! CONFIG_KERN_IRQ + struct sigaction sa; + memset(&sa, 0, sizeof(sa)); - // Setup interrupt callback - sa.sa_handler = timer_isr; - sigemptyset(&sa.sa_mask); - sigaddset(&sa.sa_mask, SIGALRM); - sa.sa_flags = SA_RESTART; - sigaction(SIGALRM, &sa, NULL); -#endif // CONFIG_KERN_IRQ + // Setup interrupt callback + sa.sa_handler = timer_isr; + sigemptyset(&sa.sa_mask); + sigaddset(&sa.sa_mask, SIGALRM); + sa.sa_flags = SA_RESTART; + sigaction(SIGALRM, &sa, NULL); + #endif // CONFIG_KERN_IRQ // Setup POSIX realtime timer to interrupt every 1/TIMER_TICKS_PER_SEC. static const struct itimerval itv =