Re: [perl #18849] fork/system bug on FreeBSD
Alan Ferrency [Wed, 11 Jun 2003 14:07:00 +0000 (10:07 -0400)]
Message-ID: <Pine.BSF.4.30.0306111348450.32145-100000@smx.pair.com>

(the first alternative)

p4raw-id: //depot/perl@19765

util.c

diff --git a/util.c b/util.c
index ab1d6dc..fa1aebc 100644 (file)
--- a/util.c
+++ b/util.c
@@ -2200,7 +2200,7 @@ Perl_rsignal(pTHX_ int signo, Sighandler_t handler)
     if (PL_signals & PERL_SIGNALS_UNSAFE_FLAG)
         act.sa_flags |= SA_RESTART;    /* SVR4, 4.3+BSD */
 #endif
-#ifdef SA_NOCLDWAIT
+#ifdef SA_NOCLDWAIT && !defined(BSDish) /* See [perl #18849] */
     if (signo == SIGCHLD && handler == (Sighandler_t)SIG_IGN)
        act.sa_flags |= SA_NOCLDWAIT;
 #endif
@@ -2239,7 +2239,7 @@ Perl_rsignal_save(pTHX_ int signo, Sighandler_t handler, Sigsave_t *save)
     if (PL_signals & PERL_SIGNALS_UNSAFE_FLAG)
         act.sa_flags |= SA_RESTART;    /* SVR4, 4.3+BSD */
 #endif
-#ifdef SA_NOCLDWAIT
+#if defined(SA_NOCLDWAIT) && !defined(BSDish) /* See [perl #18849] */
     if (signo == SIGCHLD && handler == (Sighandler_t)SIG_IGN)
        act.sa_flags |= SA_NOCLDWAIT;
 #endif