Print this page

        

@@ -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)