diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/ser-unix.c | 2 |
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. */ |