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)