From b0d75ae57ce20bf105ca191868427fa2f99ef775 Mon Sep 17 00:00:00 2001 From: jaketothepast Date: Tue, 14 Jan 2020 10:54:09 -0500 Subject: [PATCH] clean up runloop, use procmask for SIG_BLOCK. --- main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 4cec4fc..2729d25 100644 --- a/main.c +++ b/main.c @@ -144,14 +144,21 @@ int read_config_file() { */ void run_loop() { sigset_t sigset; + + sigemptyset(&sigset); sigaddset(&sigset, SIGALRM); sigaddset(&sigset, SIGINT); + sigprocmask(SIG_BLOCK, &sigset, NULL); int signo; + int stat; alarm(HB_PERIOD); for (;;){ - sigwait(&sigset, &signo); + stat = sigwait(&sigset, &signo); + if (stat == EINVAL) { + fprintf(stderr, "We have an invalid signo\n"); + } if (signo == SIGINT) { break; @@ -170,7 +177,6 @@ void run_loop() { int main(int argc, char **argv) { int run_as_daemon = 0; - if (getuid() != 0) { fprintf(stderr, "hb: Must run as root using sudo!\n");