From 74621edcab8a39bd62a0955e740b034b8ac6fd60 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Yadav Date: Wed, 29 Jul 2020 18:45:08 +0530 Subject: [PATCH] Unify unnecessarily scattered calls to sigprocmask --- dwmblocks.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/dwmblocks.c b/dwmblocks.c index b88eb5a..4cbf789 100644 --- a/dwmblocks.c +++ b/dwmblocks.c @@ -116,10 +116,8 @@ void setroot() { if (updatestatus()) { - sigprocmask(SIG_BLOCK, &blocksigmask, NULL); XStoreName(dpy, DefaultRootWindow(dpy), statusstr); XSync(dpy, False); - sigprocmask(SIG_UNBLOCK, &blocksigmask, NULL); } } @@ -157,7 +155,7 @@ setupsignals() /* to handle update signals for individual blocks */ sa.sa_flags |= SA_NODEFER; - // sigemptyset(&sa.sa_mask); + sa.sa_mask = blocksigmask; sa.sa_sigaction = sighandler; for (Block *current = blocks; current->pathu; current++) if (current->signal > 0) @@ -169,11 +167,8 @@ sighandler(int signal, siginfo_t *si, void *ucontext) { signal -= SIGRTMIN; for (Block *current = blocks; current->pathu; current++) - if (current->signal == signal) { - sigprocmask(SIG_BLOCK, &blocksigmask, NULL); + if (current->signal == signal) getcmd(current, si->si_value.sival_int); - sigprocmask(SIG_UNBLOCK, &blocksigmask, NULL); - } setroot(); } @@ -183,23 +178,21 @@ statusloop() int i; /* first run */ + sigprocmask(SIG_BLOCK, &blocksigmask, NULL); for (Block *current = blocks; current->pathu; current++) - if (current->interval >= 0) { - sigprocmask(SIG_BLOCK, &blocksigmask, NULL); + if (current->interval >= 0) getcmd(current, NILL); - sigprocmask(SIG_UNBLOCK, &blocksigmask, NULL); - } setroot(); + sigprocmask(SIG_UNBLOCK, &blocksigmask, NULL); sleep(SLEEPINTERVAL); i = SLEEPINTERVAL; /* main loop */ while (statuscontinue) { + sigprocmask(SIG_BLOCK, &blocksigmask, NULL); for (Block *current = blocks; current->pathu; current++) - if (current->interval > 0 && i % current->interval == 0) { - sigprocmask(SIG_BLOCK, &blocksigmask, NULL); + if (current->interval > 0 && i % current->interval == 0) getcmd(current, NILL); - sigprocmask(SIG_UNBLOCK, &blocksigmask, NULL); - } + sigprocmask(SIG_UNBLOCK, &blocksigmask, NULL); setroot(); sleep(SLEEPINTERVAL); i += SLEEPINTERVAL;