From 0ccc3c149413921fbf5c00696bf350333927eb64 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Thu, 28 Apr 2022 17:03:31 -0700 Subject: 50162: Fix multios with current-shell "exec" (aka nullexec). --- ChangeLog | 4 ++++ Etc/BUGS | 6 ------ Src/exec.c | 4 ++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8ff17f179..b30b646c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2022-04-28 Bart Schaefer + + * 50126: Etc/BUGS, Src/exec.c: Fix multios in current-shell "exec" + 2022-04-26 dana * unposted: Completion/Unix/Command/_getopt: Fix util-linux diff --git a/Etc/BUGS b/Etc/BUGS index 3121fc9fa..b511ec6d6 100644 --- a/Etc/BUGS +++ b/Etc/BUGS @@ -46,12 +46,6 @@ interactive and the subshell is the foreground job. The USEZLE option is always turned off in subshells, for reasons lost to history. There is a related, probably obsolete, vared special case for $TERM set to "emacs". ------------------------------------------------------------------------ -users/26150: MULTIOS does not work with "exec": - -exec 3>/tmp/test1 3>/tmp/test2 - -causes a script to hang. ------------------------------------------------------------------------- 47561: [PATCH v4] vcs_info: choose backend by basedir ------------------------------------------------------------------------ 39319: () { exit } =(:) doesn't clean up the tempfile diff --git a/Src/exec.c b/Src/exec.c index 47753da48..c31089bb5 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -3898,6 +3898,10 @@ execcmd_exec(Estate state, Execcmd_params eparams, for (i = 0; i < 10; i++) if (save[i] != -2) zclose(save[i]); + /* + * We're done with this job, no need to wait for it. + */ + jobtab[thisjob].stat |= STAT_DONE; goto done; } if (isset(XTRACE)) { -- cgit 1.4.1