From 35c8150f713288319398ef855bbee58a49c855dd Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 28 Jun 2010 13:23:59 +0200 Subject: boot into rescue mode, when button is pressed once --- package/alix-switch/src/alix-switchd.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'package/alix-switch/src') diff --git a/package/alix-switch/src/alix-switchd.c b/package/alix-switch/src/alix-switchd.c index d98748fa1..78b52f19c 100644 --- a/package/alix-switch/src/alix-switchd.c +++ b/package/alix-switch/src/alix-switchd.c @@ -44,18 +44,15 @@ static sighandler_t handle_signal (int sig_nr, sighandler_t signalhandler) { static void start_daemon (void) { int i; - pid_t pid; - - if (setsid() > 0) - exit(EXIT_FAILURE); + pid_t pid, sid; handle_signal(SIGHUP, SIG_IGN); - if ((pid = fork ()) != 0) exit(EXIT_FAILURE); - - chdir("/"); umask(0); + if ((sid = setsid()) < 0) + exit(EXIT_FAILURE); + chdir("/"); for (i = sysconf(_SC_OPEN_MAX); i > 0; i--) close(i); } -- cgit v1.2.3