X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fpush.c;h=eb6011a970248119648878629daaddbcf5dcaa80;hp=05c3942fecd82e0679f1a001c017957e4f5a3fb4;hb=865335e03bab5e0ceb47a4d20564c3afb3de30c4;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/sbr/push.c b/sbr/push.c index 05c3942..eb6011a 100644 --- a/sbr/push.c +++ b/sbr/push.c @@ -1,9 +1,10 @@ - /* - * push.c -- push a fork into the background - * - * $Id$ - */ +** push.c -- push a fork into the background +** +** This code is Copyright (c) 2002, by the authors of nmh. See the +** COPYRIGHT file in the root directory of the nmh distribution for +** complete copyright information. +*/ #include #include @@ -13,36 +14,31 @@ void push(void) { - pid_t pid; - int i; - - for (i = 0; (pid = fork()) == -1 && i < 5; i++) - sleep (5); + pid_t pid; - switch (pid) { + switch (pid = fork()) { case -1: - /* fork error */ - advise (NULL, "unable to fork, so can't push..."); - break; + /* fork error */ + advise(NULL, "unable to fork, so can't push..."); + break; case 0: - /* child, block a few signals and continue */ - SIGNAL (SIGHUP, SIG_IGN); - SIGNAL (SIGINT, SIG_IGN); - SIGNAL (SIGQUIT, SIG_IGN); - SIGNAL (SIGTERM, SIG_IGN); + /* child, block a few signals and continue */ + SIGNAL(SIGHUP, SIG_IGN); + SIGNAL(SIGINT, SIG_IGN); + SIGNAL(SIGQUIT, SIG_IGN); + SIGNAL(SIGTERM, SIG_IGN); #ifdef SIGTSTP - SIGNAL (SIGTSTP, SIG_IGN); - SIGNAL (SIGTTIN, SIG_IGN); - SIGNAL (SIGTTOU, SIG_IGN); + SIGNAL(SIGTSTP, SIG_IGN); + SIGNAL(SIGTTIN, SIG_IGN); + SIGNAL(SIGTTOU, SIG_IGN); #endif - freopen ("/dev/null", "r", stdin); - freopen ("/dev/null", "w", stdout); - break; + freopen("/dev/null", "r", stdin); + freopen("/dev/null", "w", stdout); + break; default: - /* parent, just exit */ - done (0); - } + /* parent, just exit */ + done(0); + } } -