]> diplodocus.org Git - nmh/blobdiff - sbr/push.c
mhshow: ensure that -part always shows every part requested
[nmh] / sbr / push.c
index 05c3942fecd82e0679f1a001c017957e4f5a3fb4..c4d0e40512d6578c5aef13e73da22b618b95e6d0 100644 (file)
@@ -2,12 +2,13 @@
 /*
  * 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 <h/mh.h>
 #include <h/signals.h>
-#include <signal.h>
 
 
 void
@@ -36,8 +37,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: