From: Simon Tatham Date: Fri, 25 Apr 2003 15:44:01 +0000 (+0000) Subject: Don't block SIGPIPE until _after_ pterm forks, since otherwise the X-Git-Tag: 0.54~199 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=426dc87712a402007d25291caf972d0d1473ed82;p=PuTTY.git Don't block SIGPIPE until _after_ pterm forks, since otherwise the blockage will propagate to the child process. [originally from svn r3139] --- 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();