diff options
author | Doug Evans <dje@google.com> | 2010-04-20 06:06:38 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2010-04-20 06:06:38 +0000 |
commit | 0845b5bcaed448f890af5f05c043d3014ccbc20b (patch) | |
tree | 080cfde2961dbd908c27b1ecede9cb28ca5bbba0 /gdb | |
parent | 07ed1d58ab86b51ff98fc9b4f9f6104ea6a2edea (diff) | |
download | gdb-0845b5bcaed448f890af5f05c043d3014ccbc20b.tar.gz |
(generic_readchar): Tweak previous checkin, close error_fd if EOF.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ser-base.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ser-base.c b/gdb/ser-base.c index 7afd1ee1c8c..6285342e7c2 100644 --- a/gdb/ser-base.c +++ b/gdb/ser-base.c @@ -361,8 +361,15 @@ generic_readchar (struct serial *scb, int timeout, break; s = read (scb->error_fd, &buf, to_read); - if (s <= 0) + if (s == -1) break; + if (s == 0) + { + /* EOF */ + close (scb->error_fd); + scb->error_fd = -1; + break; + } /* In theory, embedded newlines are not a problem. But for MI, we want each output line to have just |