summaryrefslogtreecommitdiff
path: root/texinfo/info/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'texinfo/info/session.c')
-rw-r--r--texinfo/info/session.c15
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;