1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 01:02:24 +00:00

CloseOnExit now defaults to COE_ALWAYS for pterm, bringing it back

into line with most other xtermalikes. On Unix, the exit code of a
shell is the last exit code of one of its child processes, even if
it's an interactive shell - so some pterms will close and some will
not for no particularly good reason. Power-detaching a screen
session is especially bad for this.
COE_NORMAL is still useful for specialist purposes (running a single
command in its own pterm), but I don't think it's a sane default,
unfortunately.

[originally from svn r2154]
This commit is contained in:
Simon Tatham 2002-10-28 17:39:21 +00:00
parent 963742fd4e
commit ec5a7ee940
2 changed files with 24 additions and 8 deletions

View File

@ -349,7 +349,23 @@ void load_settings(char *section, int do_host, Config * cfg)
break;
}
gppi(sesskey, "CloseOnExit", COE_NORMAL, &cfg->close_on_exit);
/*
* CloseOnExit defaults to closing only on a clean exit - but
* unfortunately not on Unix (pterm). On Unix, the exit code of
* a shell is the last exit code of one of its child processes,
* even if it's an interactive shell - so some pterms will
* close and some will not for no particularly good reason. The
* mode is still useful for specialist purposes (running a
* single command in its own pterm), but I don't think it's a
* sane default, unfortunately.
*/
gppi(sesskey, "CloseOnExit",
#ifdef _WINDOWS
COE_NORMAL,
#else
COE_ALWAYS,
#endif
&cfg->close_on_exit);
gppi(sesskey, "WarnOnClose", 1, &cfg->warn_on_close);
{
/* This is two values for backward compatibility with 0.50/0.51 */

View File

@ -110,15 +110,15 @@ for some FOO; you can make \fIpterm\fP look them up under another
name, such as \fIxyz.FOO\fP, by specifying the command-line option
"-name xyz".
.IP "\fBpterm.CloseOnExit\fP"
This option should be set to 0, 1 or 2; the default is 1. It
This option should be set to 0, 1 or 2; the default is 2. It
controls what \fIpterm\fP does when the process running inside it
terminates. When set to 2, \fIpterm\fP will close its window as soon
as the process inside it terminates. When set to 0, \fIpterm\fP will
print the process's exit status, and the window will remain present
until a key is pressed (allowing you to inspect the scrollback, and
copy and paste text out of it).
terminates. When set to 2 (the default), \fIpterm\fP will close its
window as soon as the process inside it terminates. When set to 0,
\fIpterm\fP will print the process's exit status, and the window
will remain present until a key is pressed (allowing you to inspect
the scrollback, and copy and paste text out of it).
When this setting is set to 1 (the default), \fIpterm\fP will close
When this setting is set to 1, \fIpterm\fP will close
immediately if the process exits cleanly (with an exit status of
zero), but the window will stay around if the process exits with a
non-zero code or on a signal. This enables you to see what went