From d19e18c68d6415214afad37ce6cb47ec038ebe1c Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sun, 28 Apr 2013 17:47:43 -0700 Subject: 31350: block SIGWINCH nearly all the time, except when about to calculate prompts or do synchronous read, so syscalls are not interrupted by window size changes. --- Src/input.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Src/input.c') diff --git a/Src/input.c b/Src/input.c index 5cff22da4..9bd9663bf 100644 --- a/Src/input.c +++ b/Src/input.c @@ -143,10 +143,12 @@ shingetline(void) p = buf; for (;;) { + winch_unblock(); do { errno = 0; c = fgetc(bshin); } while (c < 0 && errno == EINTR); + winch_block(); if (c < 0 || c == '\n') { if (c == '\n') *p++ = '\n'; -- cgit 1.4.1