From: Ben Harris Date: Sun, 18 Nov 2018 14:48:42 +0000 (+0000) Subject: Error handling for sigset functions. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=e926f5f001da22ef457fb29aafac8c1af3e38a01;p=clunk.git Error handling for sigset functions. Yes, they are allowed to return errors. Even sigemptyset(). --- diff --git a/clunk.c b/clunk.c index 4d62324..e149156 100644 --- a/clunk.c +++ b/clunk.c @@ -140,15 +140,17 @@ init(int argc, char **argv) int opt; tzset(); - sigemptyset(&signals_to_block); - sigaddset(&signals_to_block, SIGINT); - sigaddset(&signals_to_block, SIGTERM); + if (sigemptyset(&signals_to_block) != 0 || + sigaddset(&signals_to_block, SIGINT) != 0 || + sigaddset(&signals_to_block, SIGTERM) != 0) + err(1, "sigset"); sev.sigev_notify = SIGEV_SIGNAL; sev.sigev_signo = SIGALRM; if (timer_create(CLOCK_MONOTONIC, &sev, &fallback_timer) != 0) err(1, "timer_create"); sa.sa_handler = alrm_handler; - sigemptyset(&sa.sa_mask); + if (sigemptyset(&sa.sa_mask) != 0) + err(1, "sigemptyset"); sa.sa_flags = 0; if (sigaction(SIGALRM, &sa, NULL) != 0) err(1, "sigaction");