Print this page

        

*** 79,91 **** 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; signal(SIGALRM, catch_alarm); setitimer(ITIMER_REAL, &itimer, 0); } void timerUpdate(IntervalTimer * itimer) --- 79,96 ---- 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; + #ifdef __sun + sigset(SIGALRM, catch_alarm); + #else signal(SIGALRM, catch_alarm); + #endif setitimer(ITIMER_REAL, &itimer, 0); } void timerUpdate(IntervalTimer * itimer)