|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 754 (0x2f2)
Types: TextFile
Names: »push.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦3658e588a⟧ »EurOpenD3/mail/mh/mh-6.7.tar.Z«
└─⟦c75e36ecb⟧
└─⟦this⟧ »mh-6.7/sbr/push.c«
/* push.c - push a fork into the background */
#include "../h/mh.h"
#include <stdio.h>
#include <signal.h>
void push () {
register int i;
for (i = 0; i < 5; i++) {
switch (fork ()) {
case NOTOK:
sleep (5);
continue;
case OK:
(void) signal (SIGHUP, SIG_IGN);
(void) signal (SIGINT, SIG_IGN);
(void) signal (SIGQUIT, SIG_IGN);
(void) signal (SIGTERM, SIG_IGN);
#ifdef SIGTSTP
(void) signal (SIGTSTP, SIG_IGN);
(void) signal (SIGTTIN, SIG_IGN);
(void) signal (SIGTTOU, SIG_IGN);
#endif SIGTSTP
(void) freopen ("/dev/null", "r", stdin);
(void) freopen ("/dev/null", "w", stdout);
break;
default:
done (0);
}
break;
}
if (i >= 5)
advise (NULLCP, "unable to fork, so can't push...");
}