summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--luit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/luit.c b/luit.c
index 0ece7b6..5cb3b8f 100644
--- a/luit.c
+++ b/luit.c
@@ -577,6 +577,8 @@ condom(int argc, char **argv)
IGNORE_RC(pipe(c2p_waitpipe));
}
+ setup_io(pty);
+
pid = fork();
if (pid < 0) {
perror("Couldn't fork");
@@ -584,6 +586,10 @@ condom(int argc, char **argv)
}
if (pid == 0) {
+#ifdef SIGWINCH
+ installHandler(SIGWINCH, SIG_DFL);
+#endif
+ installHandler(SIGCHLD, SIG_DFL);
close(pty);
if (pipe_option) {
close_waitpipe(1);
@@ -661,7 +667,6 @@ parent(int pid GCC_UNUSED, int pty)
if (verbose) {
reportIso2022(outputState);
}
- setup_io(pty);
if (pipe_option) {
write_waitpipe(p2c_waitpipe);