commit 9246a13738fc21d08aab20382b67c5dadb4ff8ae
parent 36cbf757036bc20dd8889ca7c19a025f8ded077e
Author: sin <sin@2f30.org>
Date: Mon, 10 Feb 2014 10:03:25 +0000
No need to typedef
Diffstat:
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 */