diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Etc/BUGS | 6 | ||||
-rw-r--r-- | 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 <schaefer@Macadamia> + + * 50126: Etc/BUGS, Src/exec.c: Fix multios in current-shell "exec" + 2022-04-26 dana <dana@dana.is> * 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)) { |