Date: Sun, 13 Jul 2003 01:40:25 -0700 (PDT) From: David Malone <dwmalone@maths.tcd.ie> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/52746 Message-ID: <200307130840.h6D8ePoh026232@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/52746; it has been noted by GNATS.
From: David Malone <dwmalone@maths.tcd.ie>
To: Kris Kennaway <kris@obsecurity.org>
Cc: freebsd-gnats-submit@FreeBSD.org, marka@isc.org,
dwmalone@FreeBSD.org
Subject: Re: bin/52746
Date: Sun, 13 Jul 2003 09:34:39 +0100
> David, can you forward your analysis to the tcsh maintainer, Christos
> Zoulas <christos@zoulas.com>? I have tried to email him recently
> about this myself, but he bounces my emails.
I got a patch from Christos, but while testing I found that it
caused problems with running subcommands in vim. I haven't had time
to investigate further. I've let Christos know about that too.
I've included the patch below, in case anyone wants to do more
testing or debugging of it.
We could probably work around the problem by disabling the use of
vfork under FreeBSD.
David.
Index: sh.proc.c
===================================================================
RCS file: /src/pub/tcsh/sh.proc.c,v
retrieving revision 3.79
diff -u -u -r3.79 sh.proc.c
--- sh.proc.c 26 May 2003 07:11:07 -0000 3.79
+++ sh.proc.c 3 Jun 2003 13:10:48 -0000
@@ -602,8 +602,15 @@
while ((fp = (fp->p_friends)) != pp);
if ((jobflags & PRUNNING) == 0)
break;
+ if (kill(-fp->p_procid, 0) == -1 && errno == ESRCH) {
#ifdef JOBDEBUG
- xprintf("%d starting to sigpause for SIGCHLD on %d\n",
+ xprintf("%d child %d already exited\n",
+ getpid(), fp->p_procid);
+#endif /* JOBDEBUG */
+ break;
+ }
+#ifdef JOBDEBUG
+ xprintf("%d starting to sigpause for SIGCHLD on %d\n",
getpid(), fp->p_procid);
#endif /* JOBDEBUG */
#ifdef BSDSIGS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307130840.h6D8ePoh026232>
