diff options
Diffstat (limited to 'texinfo/info/session.c')
-rw-r--r-- | texinfo/info/session.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/texinfo/info/session.c b/texinfo/info/session.c index e99301b8d0d..04a548bfb51 100644 --- a/texinfo/info/session.c +++ b/texinfo/info/session.c @@ -1,5 +1,5 @@ /* session.c -- The user windowing interface to Info. - $Id: session.c,v 1.2 1998/03/24 18:06:46 law Exp $ + $Id: session.c,v 1.1.1.3 1998/03/24 18:20:15 law Exp $ Copyright (C) 1993, 96, 97 Free Software Foundation, Inc. @@ -4206,7 +4206,20 @@ info_get_input_char () out how many characters are currently buffered, we should stay with away from stream I/O. --Egil Kvaleberg <egilk@sn.no>, January 1997. */ +#ifdef EINTR + /* Keep reading if we got EINTR, so that we don't just exit. + --Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>, + 22 Dec 1997. */ + { + int n; + do + n = read (tty, &c, 1); + while (n == -1 && errno == EINTR); + rawkey = n == 1 ? c : EOF; + } +#else rawkey = (read (tty, &c, 1) == 1) ? c : EOF; +#endif keystroke = rawkey; |