From 40e3f985d2a8082507010fca0a01714f092c47a0 Mon Sep 17 00:00:00 2001 From: Fernando Nasser Date: Fri, 13 Oct 2000 21:41:21 +0000 Subject: [PATCH] 2000-10-13 Fernando Nasser * remote.c (putpkt_binary): Call read_frame, not getpkt. Log message. (read_frame): Do not call error() on communication error when reading checksum, but return failure instead and log message. --- gdb/ChangeLog | 6 ++++++ gdb/remote.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9614491ca09..201c57c5aba 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2000-10-13 Fernando Nasser + + * remote.c (putpkt_binary): Call read_frame, not getpkt. Log message. + (read_frame): Do not call error() on communication error when + reading checksum, but return failure instead and log message. + 2000-10-13 Fernando Nasser * varobj.c (type_changeable): Arrays are not changeable. diff --git a/gdb/remote.c b/gdb/remote.c index b58911ce58a..de993640b49 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -3796,9 +3796,11 @@ putpkt_binary (char *buf, int cnt) break; /* Retransmit buffer */ case '$': { + if (remote_debug) + fprintf_unfiltered (gdb_stdlog, "Packet instead of Ack, ignoring it\n"); /* It's probably an old response, and we're out of sync. Just gobble up the packet and ignore it. */ - getpkt (junkbuf, sizeof_junkbuf, 0); + read_frame (junkbuf, sizeof_junkbuf); continue; /* Now, go look for + */ } default: @@ -3887,7 +3889,11 @@ read_frame (char *buf, return -1; } else if (check_0 < 0 || check_1 < 0) - error ("Communication error in checksum"); + { + if (remote_debug) + fputs_filtered ("Communication error in checksum\n", gdb_stdlog); + return -1; + } pktcsum = (fromhex (check_0) << 4) | fromhex (check_1); if (csum == pktcsum) -- 2.30.2