summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2017-07-14 22:01:10 +0100
committerThomas Adam <thomas@xteddy.org>2017-07-14 22:01:10 +0100
commitacbbc93501eea6732bdca3ca9f39589b867c6b68 (patch)
tree8cbb581679f054ecebb30070b38c749a2c1faa51 /client.c
parent1265e212e47ca6cfc05ffbccc1edc079f97de461 (diff)
parent932f6cfbfc98ab2d6e593f7fa3473a6bb3269967 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'client.c')
-rw-r--r--client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/client.c b/client.c
index a42a9634..0642bdc4 100644
--- a/client.c
+++ b/client.c
@@ -366,7 +366,6 @@ client_main(struct event_base *base, int argc, char **argv, int flags)
if (client_exittype == MSG_EXEC) {
if (client_flags & CLIENT_CONTROLCONTROL)
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio);
- proc_clear_signals(client_proc);
client_exec(client_execshell, client_execcmd);
}
@@ -482,6 +481,8 @@ client_exec(const char *shell, const char *shellcmd)
xasprintf(&argv0, "%s", name);
setenv("SHELL", shell, 1);
+ proc_clear_signals(client_proc, 1);
+
setblocking(STDIN_FILENO, 1);
setblocking(STDOUT_FILENO, 1);
setblocking(STDERR_FILENO, 1);
@@ -629,7 +630,6 @@ client_dispatch_wait(struct imsg *imsg)
if (datalen == 0 || data[datalen - 1] != '\0')
fatalx("bad MSG_SHELL string");
- proc_clear_signals(client_proc);
client_exec(data, shell_command);
/* NOTREACHED */
case MSG_DETACH: