diff options
| author | Bart Schaefer <schaefer@zsh.org> | 2013-04-28 17:47:43 -0700 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2013-04-30 00:08:49 -0700 |
| commit | d19e18c68d6415214afad37ce6cb47ec038ebe1c (patch) | |
| tree | c325d0ca0440246d07b758c25a20d6c5f49356b4 /Src/input.c | |
| parent | 31357: _cp: add support for Mac OS X (diff) | |
| download | zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.tar zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.tar.gz zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.tar.bz2 zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.tar.lz zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.tar.xz zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.tar.zst zsh-d19e18c68d6415214afad37ce6cb47ec038ebe1c.zip | |
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.
Diffstat (limited to 'Src/input.c')
| -rw-r--r-- | Src/input.c | 2 |
1 files changed, 2 insertions, 0 deletions
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'; |
