@@ -79,13 +79,18 @@ signal(SIGALRM, SIG_IGN); elapsed = 0; itimer.it_value.tv_sec = itimer.it_interval.tv_sec = 0; - itimer.it_value.tv_usec = itimer.it_interval.tv_usec = US_TIMER_INTERVAL; + itimer.it_value.tv_usec = itimer.it_interval.tv_usec = + US_TIMER_INTERVAL; +#ifdef __sun + sigset(SIGALRM, catch_alarm); +#else signal(SIGALRM, catch_alarm); +#endif setitimer(ITIMER_REAL, &itimer, 0); } void timerUpdate(IntervalTimer * itimer)