about summary refs log tree commit diff
path: root/Src/jobs.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-05-23 11:21:10 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-05-23 11:21:10 +0000
commitfcd2c9243fcb0e29098da9d9f815373d73d6b192 (patch)
treea746b18e3daf7fcb413f32d0055a1504e04e7527 /Src/jobs.c
parent31178db2ccaf8865b7135caa772f5a186e926a8d (diff)
downloadzsh-fcd2c9243fcb0e29098da9d9f815373d73d6b192.tar.gz
zsh-fcd2c9243fcb0e29098da9d9f815373d73d6b192.tar.xz
zsh-fcd2c9243fcb0e29098da9d9f815373d73d6b192.zip
23460: fix problem with ( stuff ) >multio1 >multio2
Diffstat (limited to 'Src/jobs.c')
-rw-r--r--Src/jobs.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Src/jobs.c b/Src/jobs.c
index 53e654c2b..b02922a03 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -1296,6 +1296,15 @@ clearjobtab(int monitor)
 
     memset(jobtab, 0, jobtabsize * sizeof(struct job)); /* zero out table */
     maxjob = 0;
+
+    /*
+     * Although we don't have job control in subshells, we
+     * sometimes needs control structures for other purposes such
+     * as multios.  Grab a job for this purpose; any will do
+     * since we've freed them all up (so there's no question
+     * of problems with the job table size here).
+     */
+    thisjob = initjob();
 }
 
 static int initnewjob(int i)