diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-11-14 23:57:47 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-11-14 23:57:47 +0000 |
commit | ccbaf15e1286f6779d2b525337e8e573340bd15a (patch) | |
tree | 321bcaf5bb0a3cda6bf7f8224cd09110cb3aef58 /lib.c | |
parent | 030b01f9e7ad38e87226906108816957f3b40691 (diff) | |
download | mandoc-ccbaf15e1286f6779d2b525337e8e573340bd15a.tar.gz |
Fix an issue reported by deraadt@: When hitting Ctrl-Backslash (= SIGQUIT)
in the less(1) spawned by man(1), man(1) died uncleanly, leaving behind
its temp files, and killed less(1) uncleanly as well with SIGPIPE,
leaving the terminal in the wrong state.
Fix this by giving less(1) its own process group and handing it
control of the terminal, but in such a way that Ctrl-z (= SIGSTOP)
still works: In that case, let man(1) stop itself, too, and let it
continue the pager when it continues itself.
Joint work with millert@ who contributed most of the expertise
required, and also most parts of the code.
OK deraadt@ millert@
Diffstat (limited to 'lib.c')
0 files changed, 0 insertions, 0 deletions