From 59876f1e37024323060fac988f67989861bf13d2 Mon Sep 17 00:00:00 2001 From: Claudio Matsuoka Date: Wed, 2 Jan 2008 13:44:03 -0200 Subject: [PATCH] Minor optimizations - don't trap SIGSTOP, SIGKILL and signal 0 - use touch() instead of system("touch") Signed-off-by: Claudio Matsuoka --- ffinit.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/ffinit.c b/ffinit.c index c4b31c89..8174ae92 100644 --- a/ffinit.c +++ b/ffinit.c @@ -70,8 +70,6 @@ int main() char *x; sigset_t nmask, nmask2; - makepath("/usr/local/bin/bla"); -exit(0); chdir("/"); umask(022); @@ -86,10 +84,10 @@ exit(0); SETSIG(sa, SIGUSR1, shutdown, 0); SETSIG(sa, SIGUSR2, shutdown, 0); SETSIG(sa, SIGTERM, signal_handler, 0); - SETSIG(sa, SIGKILL, signal_handler, 0); + //SETSIG(sa, SIGKILL, signal_handler, 0); SETSIG(sa, SIGALRM, signal_handler, 0); SETSIG(sa, SIGHUP, signal_handler, 0); - SETSIG(sa, SIGSTOP, signal_handler, SA_RESTART); + //SETSIG(sa, SIGSTOP, signal_handler, SA_RESTART); SETSIG(sa, SIGCONT, signal_handler, SA_RESTART); SETSIG(sa, SIGCHLD, chld_handler, SA_RESTART); @@ -215,8 +213,7 @@ exit(0); sigaddset(&nmask2, SIGCHLD); sigprocmask(SIG_UNBLOCK, &nmask2, NULL); - /* Bug: no signal 0 */ - for (i = 0; i < NSIG; i++) + for (i = 1; i < NSIG; i++) sigaction(i, &sa, NULL); dup2(0, 0); @@ -251,7 +248,7 @@ void shutdown(int sig) { int fd; - system("/usr/bin/touch /tmp/shutdown"); + touch("/tmp/shutdown"); kill(-1, SIGTERM);