From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27413 invoked by alias); 5 Nov 2004 15:39:02 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 27379 invoked from network); 5 Nov 2004 15:39:00 -0000 Received: from unknown (HELO smtp004.mail.ukl.yahoo.com) (217.12.11.35) by sourceware.org with SMTP; 5 Nov 2004 15:39:00 -0000 Received: from unknown (HELO Kindrogan) (compxsuk@81.136.112.227 with login) by smtp004.mail.ukl.yahoo.com with SMTP; 5 Nov 2004 15:38:59 -0000 Reply-To: From: "Jon Beniston" To: Subject: Fix for PR/1806 Date: Fri, 05 Nov 2004 15:39:00 -0000 Organization: CompXs Message-ID: <001201c4c34d$8f764f10$0bbda8c0@Kindrogan> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-SW-Source: 2004-11/txt/msg00076.txt.bz2 Hi, The following patch should fix PR/1806. If good, can someone commit it please? Cheers, Jon 2004-11-05 Jon Beniston * remote.c (putpkt_binary) Fix PR gdb/1806. Send an ACK when an unexpected packet is received, as the target stubs continually retransmit the same packet until ACKed. diff -c -p -r1.152 remote.c *** remote.c 27 Oct 2004 20:03:50 -0000 1.152 --- remote.c 5 Nov 2004 15:30:34 -0000 *************** putpkt_binary (char *buf, int cnt) *** 3972,3980 **** { 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. */ read_frame (junkbuf, sizeof_junkbuf); continue; /* Now, go look for + */ } default: --- 3972,3982 ---- { if (remote_debug) fprintf_unfiltered (gdb_stdlog, "Packet instead of Ack, ignoring it\n"); ! /* It's probably an old response sent because an ACK was lost. ! Gobble up the packet and ack it so it doesn't get ! retransmitted when we resend this packet. */ read_frame (junkbuf, sizeof_junkbuf); + serial_write (remote_desc, "+", 1); continue; /* Now, go look for + */ } default: