2 ** push.c -- push a fork into the background
4 ** This code is Copyright (c) 2002, by the authors of nmh. See the
5 ** COPYRIGHT file in the root directory of the nmh distribution for
6 ** complete copyright information.
10 #include <h/signals.h>
20 for (i = 0; (pid = fork()) == -1 && i < 5; i++)
26 advise(NULL, "unable to fork, so can't push...");
30 /* child, block a few signals and continue */
31 SIGNAL(SIGHUP, SIG_IGN);
32 SIGNAL(SIGINT, SIG_IGN);
33 SIGNAL(SIGQUIT, SIG_IGN);
34 SIGNAL(SIGTERM, SIG_IGN);
36 SIGNAL(SIGTSTP, SIG_IGN);
37 SIGNAL(SIGTTIN, SIG_IGN);
38 SIGNAL(SIGTTOU, SIG_IGN);
40 freopen("/dev/null", "r", stdin);
41 freopen("/dev/null", "w", stdout);
45 /* parent, just exit */