From 755e29c633c56ccd5eb7131bbd3ed3190696af84 Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 25 Apr 2003 15:44:01 +0000 Subject: [PATCH] Don't block SIGPIPE until _after_ pterm forks, since otherwise the blockage will propagate to the child process. git-svn-id: svn://svn.tartarus.org/sgt/putty@3139 cda61777-01e9-0310-a592-d414129be87e --- unix/pterm.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/unix/pterm.c b/unix/pterm.c index 3bb9f6ba..f1bdd4d4 100644 --- a/unix/pterm.c +++ b/unix/pterm.c @@ -2803,12 +2803,6 @@ int pt_main(int argc, char **argv) * it */ block_signal(SIGCHLD, 1); - /* - * SIGPIPE is not something we want to see terminating the - * process. - */ - block_signal(SIGPIPE, 1); - inst->progname = argv[0]; /* * Copy the original argv before letting gtk_init fiddle with @@ -3062,6 +3056,15 @@ int pt_main(int argc, char **argv) * called */ block_signal(SIGCHLD, 0); + /* + * Block SIGPIPE: if we attempt Duplicate Session or similar + * and it falls over in some way, we certainly don't want + * SIGPIPE terminating the main pterm/PuTTY. Note that we do + * this _after_ (at least pterm) forks off its child process, + * since the child wants SIGPIPE handled in the usual way. + */ + block_signal(SIGPIPE, 1); + inst->exited = FALSE; gtk_main(); -- 2.11.0