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:
parent
963742fd4e
commit
ec5a7ee940
18
settings.c
18
settings.c
@ -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 */
|
||||
|
14
unix/pterm.1
14
unix/pterm.1
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user