From 4d007e269d1892e45e44ff92b6b9a1a205ff64d5 Mon Sep 17 00:00:00 2001 From: Stephane Chazelas Date: Tue, 13 Jun 2017 21:34:55 -0400 Subject: 41275: Leave stdin open when executing widgets --- Src/Zle/zle_main.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Src/Zle/zle_main.c') diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index 6c271b5d0..be2b062b0 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -1485,6 +1485,13 @@ execzlefunc(Thingy func, char **args, int set_bindk) int inuse = w->flags & WIDGET_INUSE; w->flags |= WIDGET_INUSE; + if (osi > 0) { + /* + * Many commands don't like having a closed stdin, open on + * /dev/null instead + */ + open("/dev/null", O_RDWR | O_NOCTTY); /* ignore failure */ + } if (*args) { largs = newlinklist(); addlinknode(largs, dupstring(w->u.fnnam)); -- cgit 1.4.1