attempt at fixing a problem tracked down by Jim Uhl, where nano will go
into an infinite loop if the terminal it's running in dies unexpectedly due to a signal git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2339 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
9d69169072
commit
c275dc575a
|
@ -233,6 +233,11 @@ CVS code -
|
||||||
revstrstr(), revstristr()
|
revstrstr(), revstristr()
|
||||||
- Add asserts. (DLR)
|
- Add asserts. (DLR)
|
||||||
- winio.c:
|
- winio.c:
|
||||||
|
get_buffer()
|
||||||
|
- If we get ERR when using blocking input, it means that the
|
||||||
|
input source that we were using is gone. In this case, call
|
||||||
|
handle_hupterm(), so that nano dies gracefully instead of
|
||||||
|
going into an infinite loop. (DLR, found by Jim Uhl)
|
||||||
titlebar()
|
titlebar()
|
||||||
- Rename some variables for consistency, make space an int
|
- Rename some variables for consistency, make space an int
|
||||||
instead of a size_t, properly handle the case where the prefix
|
instead of a size_t, properly handle the case where the prefix
|
||||||
|
|
|
@ -140,6 +140,11 @@ void get_buffer(WINDOW *win)
|
||||||
|
|
||||||
input = wgetch(win);
|
input = wgetch(win);
|
||||||
|
|
||||||
|
/* If we get ERR when using blocking input, it means that the input
|
||||||
|
* source that we were using is gone, so die gracefully. */
|
||||||
|
if (input == ERR)
|
||||||
|
handle_hupterm(0);
|
||||||
|
|
||||||
#ifndef NANO_SMALL
|
#ifndef NANO_SMALL
|
||||||
allow_pending_sigwinch(FALSE);
|
allow_pending_sigwinch(FALSE);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue