logo

cmd-timer

run command at a specific interval git clone https://anongit.hacktivis.me/git/cmd-timer.git
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:

Mtimer.c32+++++++++++++++-----------------
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)) ;