diff -ru tclock-1.0.1/tclock.c tclock-1.0.1.new/tclock.c --- tclock-1.0.1/tclock.c 2006-11-17 13:51:48 +0300 +++ tclock-1.0.1.new/tclock.c 2006-11-17 13:53:22 +0300 @@ -33,6 +33,7 @@ #include #include #include +#include #include "defaults.h" #define HOURHAND 0 @@ -238,7 +239,7 @@ times = *localtime(&lclock); times.tm_hour = times.tm_hour * 5 + times.tm_min / 12; reshape(); - signal(SIGALRM, (void *)sigalrm); /* For SysV lusers */ + return 0; } unsigned long @@ -295,7 +296,7 @@ strcpy(appClass, "Tclock"); } -void +int main(ac, av) int ac; char **av; @@ -311,7 +312,8 @@ char *getenv(); char *displayName, fn[1000]; char *sdb; - int parseReturn, rc; + int parseReturn; + sigset_t mask; XrmParseCommand(&db, option, numOptions, "tclock", &ac, av); if(ac>1) @@ -420,6 +422,9 @@ new.it_value.tv_usec = 0; setitimer(ITIMER_REAL, &new, &old); + sigemptyset(&mask); for(;;) - sigpause(0); + sigsuspend(&mask); + + return 0; }