Introduction
Introduction Statistics Contact Development Disclaimer Help
No need to typedef - sinit - suckless init
git clone git://git.suckless.org/sinit
Log
Files
Refs
README
LICENSE
---
commit 9246a13738fc21d08aab20382b67c5dadb4ff8ae
parent 36cbf757036bc20dd8889ca7c19a025f8ded077e
Author: sin <[email protected]>
Date: Mon, 10 Feb 2014 10:03:25 +0000
No need to typedef
Diffstat:
M sinit.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
---
diff --git a/sinit.c b/sinit.c
@@ -10,17 +10,15 @@
#include <unistd.h>
#include "util.h"
-typedef struct {
- int sig;
- void (*func)(void);
-} Sigmap;
-
static void sigpoweroff(void);
static void sigreap(void);
static void sigreboot(void);
static void spawn(char *const []);
-static Sigmap dispatchsig[] = {
+static struct {
+ int sig;
+ void (*handler)(void);
+} sigmap[] = {
{ SIGUSR1, sigpoweroff },
{ SIGCHLD, sigreap },
{ SIGINT, sigreboot },
@@ -42,8 +40,8 @@ main(void)
setsid();
sigemptyset(&set);
- for (i = 0; i < LEN(dispatchsig); i++)
- sigaddset(&set, dispatchsig[i].sig);
+ for (i = 0; i < LEN(sigmap); i++)
+ sigaddset(&set, sigmap[i].sig);
sigprocmask(SIG_BLOCK, &set, NULL);
fd = signalfd(-1, &set, SFD_CLOEXEC);
@@ -58,9 +56,9 @@ main(void)
eprintf("sinit: read:");
if (n != sizeof(si))
continue;
- for (i = 0; i < LEN(dispatchsig); i++)
- if (dispatchsig[i].sig == si.ssi_signo)
- dispatchsig[i].func();
+ for (i = 0; i < LEN(sigmap); i++)
+ if (sigmap[i].sig == si.ssi_signo)
+ sigmap[i].handler();
}
/* not reachable */
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.