diff options
author | Jari Aalto <jari.aalto@cante.net> | 2006-10-10 14:15:34 +0000 |
---|---|---|
committer | Jari Aalto <jari.aalto@cante.net> | 2009-09-12 16:46:58 +0000 |
commit | 0628567a28f3510f506ae46cb9b24b73a6d2dc5d (patch) | |
tree | da84934c41272cdc655694846c15c1c5db807445 /input.c | |
parent | 95732b497d12c98613bb3c5db16b61f377501a59 (diff) | |
download | bash-0628567a28f3510f506ae46cb9b24b73a6d2dc5d.tar.gz |
Imported from ../bash-3.2.tar.gz.
Diffstat (limited to 'input.c')
-rw-r--r-- | input.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -41,11 +41,14 @@ #include "input.h" #include "error.h" #include "externs.h" +#include "quit.h" #if !defined (errno) extern int errno; #endif /* !errno */ +extern void termsig_handler __P((int)); + /* Functions to handle reading input on systems that don't restart read(2) if a signal is received. */ @@ -61,11 +64,14 @@ getc_with_restart (stream) { unsigned char uc; + CHECK_TERMSIG; + /* Try local buffering to reduce the number of read(2) calls. */ if (local_index == local_bufused || local_bufused == 0) { while (1) { + CHECK_TERMSIG; local_bufused = read (fileno (stream), localbuf, sizeof(localbuf)); if (local_bufused > 0) break; @@ -446,6 +452,7 @@ b_fill_buffer (bp) { ssize_t nr; + CHECK_TERMSIG; nr = zread (bp->b_fd, bp->b_buffer, bp->b_size); if (nr <= 0) { @@ -513,6 +520,8 @@ sync_buffered_stream (bfd) int buffered_getchar () { + CHECK_TERMSIG; + #if !defined (DJGPP) return (bufstream_getc (buffers[bash_input.location.buffered_fd])); #else |