aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/ser-unix.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3ce5026..82bde3e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-15 Fernando Nasser <fnasser@cygnus.com>
+
+ * ser-unix.c (do_unix_readchar): Prevent infinite read wait to be
+ interrupted after 32K seconds.
+
2000-09-15 Kevin Buettner <kevinb@redhat.com>
* language.c (show_case_command, set_case_command): Protoize.
diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c
index 5a1ec1d..73555b2 100644
--- a/gdb/ser-unix.c
+++ b/gdb/ser-unix.c
@@ -927,7 +927,7 @@ do_unix_readchar (serial_t scb, int timeout)
}
status = ser_unix_wait_for (scb, delta);
- timeout -= delta;
+ timeout = (timeout <= 0) ? timeout : (timeout - delta);
/* If we got a character or an error back from wait_for, then we can
break from the loop before the timeout is completed. */