X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1691e80890e5d8ba258c51c214a3e91880e1db2b..52cfdad5862a445c59093edd504338f4e762057c:/sbr/push.c diff --git a/sbr/push.c b/sbr/push.c index 05c3942f..6c57e6ec 100644 --- a/sbr/push.c +++ b/sbr/push.c @@ -1,13 +1,12 @@ - -/* - * push.c -- push a fork into the background +/* push.c -- push a fork into the background * - * $Id$ + * 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 -#include void @@ -22,7 +21,7 @@ push(void) switch (pid) { case -1: /* fork error */ - advise (NULL, "unable to fork, so can't push..."); + inform("unable to fork, so can't push..."); break; case 0: @@ -36,8 +35,15 @@ push(void) SIGNAL (SIGTTIN, SIG_IGN); SIGNAL (SIGTTOU, SIG_IGN); #endif - freopen ("/dev/null", "r", stdin); - freopen ("/dev/null", "w", stdout); + + unregister_for_removal(0); + + if (freopen ("/dev/null", "r", stdin) == NULL) { + advise ("stdin", "freopen"); + } + if (freopen ("/dev/null", "w", stdout) == NULL) { + advise ("stdout", "freopen"); + } break; default: @@ -45,4 +51,3 @@ push(void) done (0); } } -