summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2010-04-20 06:06:38 +0000
committerDoug Evans <dje@google.com>2010-04-20 06:06:38 +0000
commit0845b5bcaed448f890af5f05c043d3014ccbc20b (patch)
tree080cfde2961dbd908c27b1ecede9cb28ca5bbba0 /gdb
parent07ed1d58ab86b51ff98fc9b4f9f6104ea6a2edea (diff)
downloadgdb-0845b5bcaed448f890af5f05c043d3014ccbc20b.tar.gz
(generic_readchar): Tweak previous checkin, close error_fd if EOF.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ser-base.c9
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