summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2021-05-03 23:49:10 -0700
committerAaron Plattner <aplattner@nvidia.com>2021-05-03 23:49:10 -0700
commit4bf1bd1fb4b439198b27943692a18f074f64d454 (patch)
tree1813a0c324b40450bef02951ca58febcc7002a12
parentdb1bf24714e01242abedf409709cd335905ded15 (diff)
Use sigaction() rather than signal() for Solaris portabilityHEADmaster
-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;