commit: d50280fafcf9f708f62b0bfbe08c4d7d6a36b29f
parent 5de077e3aa17a3982575b48602f5febc880bfecf
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sat, 19 Jul 2025 11:28:32 +0200
handle sigdelset errors via errx-like function
Diffstat:
M | timer.c | 32 | +++++++++++++++----------------- |
1 file changed, 15 insertions(+), 17 deletions(-)
diff --git a/timer.c b/timer.c
@@ -51,6 +51,13 @@ bad_usage()
exit(1);
}
+static void
+timer_errx(int err, char *msg)
+{
+ fprintf(stderr, "timer: error: %s: %s\n", msg, strerror(errno));
+ exit(err);
+}
+
int
main(int argc, char *argv[])
{
@@ -127,26 +134,17 @@ main(int argc, char *argv[])
sigset_t sigmask;
sigfillset(&sigmask);
+
if(sigdelset(&sigmask, SIGALRM) != 0)
- {
- fprintf(stderr, "timer: error: Failed adding SIGALARM to new sigmask: %s\n", strerror(errno));
- return 1;
- }
+ timer_errx(1, "Failed adding SIGALRM to sigsuspend sigmask");
+
if(sigdelset(&sigmask, SIGCHLD) != 0)
- {
- fprintf(stderr, "timer: error: Failed adding SIGCHLD to new sigmask: %s\n", strerror(errno));
- return 1;
- }
- if(sigdelset(&sigmask, SIGINT) != 0)
- {
- fprintf(stderr, "timer: error: Failed adding SIGINT to new sigmask: %s\n", strerror(errno));
- return 1;
- }
+ timer_errx(1, "Failed adding SIGCHLD to sigsuspend sigmask");
+
+ if(sigdelset(&sigmask, SIGINT) != 0) timer_errx(1, "Failed adding SIGINT to sigsuspend sigmask");
+
if(sigdelset(&sigmask, SIGTERM) != 0)
- {
- fprintf(stderr, "timer: error: Failed adding SIGTERM to new sigmask: %s\n", strerror(errno));
- return 1;
- }
+ timer_errx(1, "Failed adding SIGTERM to sigsuspend sigmask");
while(sigsuspend(&sigmask))
;