summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/main.c b/main.c
index 471988f..abd4ae0 100644
--- a/main.c
+++ b/main.c
@@ -251,6 +251,8 @@ process_args(int argc, char **argv)
int
main(int argc, char **argv)
{
+ struct sigaction saAlarmHandler;
+
printf(PACKAGE " version " VERSION "\n");
process_args(argc, argv);
disp = XOpenDisplay(0);
@@ -258,7 +260,12 @@ main(int argc, char **argv)
fprintf(stderr, "Error: Cannot connect to display!\n");
exit(-1);
}
- signal(SIGALRM, alarmhandler);
+
+ saAlarmHandler.sa_handler = (void*)alarmhandler;
+ saAlarmHandler.sa_flags = SA_RESTART;
+
+ sigaction(SIGALRM, &saAlarmHandler, NULL);
+
setup_window();
main_loop();
return 0;