about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-08-31 09:07:45 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-08-31 09:07:45 +0000
commit40e70b0419dc570770fb005f1c5c087f24d90182 (patch)
treef902a4551f92d65f645a451fb9ed72536fb4d303
parentcf9c7884f1733c5604db38d135622b203d6c98fe (diff)
downloadzsh-40e70b0419dc570770fb005f1c5c087f24d90182.tar.gz
zsh-40e70b0419dc570770fb005f1c5c087f24d90182.tar.xz
zsh-40e70b0419dc570770fb005f1c5c087f24d90182.zip
23812: fix core dump on ( command & ) from 23460
-rw-r--r--ChangeLog4
-rw-r--r--Src/exec.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5494843d1..acece6740 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-08-31  Peter Stephenson  <pws@csr.com>
+
+	* 23812: Src/exec.c: ( command & ) caused core dump after 23460.
+
 2007-08-30  Clint Adams  <clint@zsh.org>
 
 	* Chris Lamb: 23810: Completion/Debian/Command/_lighttpd:
diff --git a/Src/exec.c b/Src/exec.c
index 2ab5fb164..6d45f7452 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -2910,7 +2910,8 @@ execcmd(Estate state, int input, int output, int how, int last1)
 	    if (fdtable[i] != FDT_UNUSED)
 		close(i);
 	closem(FDT_UNUSED);
-	waitjobs();
+	if (thisjob != -1)
+	    waitjobs();
 	_exit(lastval);
     }
     fixfds(save);