about summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorStephane Chazelas <stephane@chazelas.org>2024-02-18 18:52:50 +0000
committerStephane Chazelas <stephane@chazelas.org>2024-02-18 18:56:39 +0000
commitf1e7481b8690a6ef71a83853f05645cb774778ab (patch)
tree1e6c56c47891a6f412efda764d1e5b53279ae972 /Src/exec.c
parentc2cf21c8f012db611bab1c92ee68e8af9d09fb65 (diff)
downloadzsh-f1e7481b8690a6ef71a83853f05645cb774778ab.tar.gz
zsh-f1e7481b8690a6ef71a83853f05645cb774778ab.tar.xz
zsh-f1e7481b8690a6ef71a83853f05645cb774778ab.zip
45837: fix process group restoration upon exit
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 9c8bbb458..1565cb13e 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -3768,7 +3768,7 @@ execcmd_exec(Estate state, Execcmd_params eparams,
 		addfd(forked, save, mfds, fn->fd1, fil, 0, fn->varid);
 		/* If this is 'exec < file', read from stdin, *
 		 * not terminal, unless `file' is a terminal. */
-		if (nullexec == 1 && fn->fd1 == 0 &&
+		if (nullexec == 1 && fn->fd1 == 0 && !fn->varid &&
 		    isset(SHINSTDIN) && interact && !zleactive)
 		    init_io(NULL);
 		break;