added call on sigchild() after fork() to fix retrofit signals
authorKurt A. Shoens <kurt@ucbvax.Berkeley.EDU>
Tue, 27 Jul 1982 08:10:33 +0000 (00:10 -0800)
committerKurt A. Shoens <kurt@ucbvax.Berkeley.EDU>
Tue, 27 Jul 1982 08:10:33 +0000 (00:10 -0800)
SCCS-vsn: usr.bin/mail/names.c 2.6
SCCS-vsn: usr.bin/mail/popen.c 1.4

usr/src/usr.bin/mail/names.c
usr/src/usr.bin/mail/popen.c

index 7d18dd3..73af4c6 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "rcv.h"
 
 
 #include "rcv.h"
 
-static char *SccsId = "@(#)names.c     2.5 %G%";
+static char *SccsId = "@(#)names.c     2.6 %G%";
 
 /*
  * Allocate a single element of a name list,
 
 /*
  * Allocate a single element of a name list,
@@ -306,6 +306,7 @@ outof(names, fo, hp)
                        wait(&s);
                        switch (pid = fork()) {
                        case 0:
                        wait(&s);
                        switch (pid = fork()) {
                        case 0:
+                               sigchild();
                                sigsys(SIGHUP, SIG_IGN);
                                sigsys(SIGINT, SIG_IGN);
                                sigsys(SIGQUIT, SIG_IGN);
                                sigsys(SIGHUP, SIG_IGN);
                                sigsys(SIGINT, SIG_IGN);
                                sigsys(SIGQUIT, SIG_IGN);
index 8ac8a0c..06f771b 100644 (file)
@@ -5,7 +5,7 @@
 #define        RDR     0
 #define        WTR     1
 static int     popen_pid[20];
 #define        RDR     0
 #define        WTR     1
 static int     popen_pid[20];
-static char    *sccsid = "@(#)popen.c  1.3 %G%";
+static char    *sccsid = "@(#)popen.c  1.4 %G%";
 
 # ifndef VMUNIX
 # define vfork fork
 
 # ifndef VMUNIX
 # define vfork fork
@@ -25,6 +25,7 @@ char  *mode;
        hisside = tst(p[RDR], p[WTR]);
        if((pid = vfork()) == 0) {
                /* myside and hisside reverse roles in child */
        hisside = tst(p[RDR], p[WTR]);
        if((pid = vfork()) == 0) {
                /* myside and hisside reverse roles in child */
+               sigchild();
                close(myside);
                dup2(hisside, tst(0, 1));
                close(hisside);
                close(myside);
                dup2(hisside, tst(0, 1));
                close(hisside);