From 28c2b092f7d41aa723dad18b0484dca0da1cbbf5 Mon Sep 17 00:00:00 2001 From: Leorize Date: Wed, 5 Jul 2017 11:07:07 +0700 Subject: [PATCH] sched: fix musl libc build This commit solves the following error when building with musl libc ``` src/sched.c:34:17: error: 'sigset' redeclared as different kind of symbol static sigset_t sigset; ^~~~~~ In file included from src/sched.c:21:0: /usr/include/signal.h:231:8: note: previous declaration of 'sigset' was here void (*sigset(int, void (*)(int)))(int); ^~~~~~ make: *** [: src/sched.o] Error 1 make: *** Waiting for unfinished jobs.... ``` Based on the patch by @E100Beta --- src/sched.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sched.c b/src/sched.c index d1c4634..dabdeef 100644 --- a/src/sched.c +++ b/src/sched.c @@ -31,7 +31,7 @@ #include "json.h" #include "log.h" -static sigset_t sigset; +static sigset_t set; static int gcd(int a, int b) @@ -88,13 +88,13 @@ setup_timer(struct bar *bar) static int setup_signals(void) { - if (sigemptyset(&sigset) == -1) { + if (sigemptyset(&set) == -1) { errorx("sigemptyset"); return 1; } #define ADD_SIG(_sig) \ - if (sigaddset(&sigset, _sig) == -1) { errorx("sigaddset(%d)", _sig); return 1; } + if (sigaddset(&set, _sig) == -1) { errorx("sigaddset(%d)", _sig); return 1; } /* Control signals */ ADD_SIG(SIGTERM); @@ -125,7 +125,7 @@ setup_signals(void) #undef ADD_SIG /* Block signals for which we are interested in waiting */ - if (sigprocmask(SIG_SETMASK, &sigset, NULL) == -1) { + if (sigprocmask(SIG_SETMASK, &set, NULL) == -1) { errorx("sigprocmask"); return 1; } @@ -164,7 +164,7 @@ sched_start(struct bar *bar) bar_poll_timed(bar); while (1) { - sig = sigwaitinfo(&sigset, &siginfo); + sig = sigwaitinfo(&set, &siginfo); if (sig == -1) { /* Hiding the bar may interrupt this system call */ if (errno == EINTR) @@ -212,7 +212,7 @@ sched_start(struct bar *bar) * Unblock signals (so subsequent syscall can be interrupted) * and wait for child processes termination. */ - if (sigprocmask(SIG_UNBLOCK, &sigset, NULL) == -1) + if (sigprocmask(SIG_UNBLOCK, &set, NULL) == -1) errorx("sigprocmask"); while (waitpid(-1, NULL, 0) > 0) continue;