This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix for PR/1806


Hi,

The following patch should fix PR/1806. If good, can someone commit it
please?

Cheers,
Jon

2004-11-05  Jon Beniston <jon@beniston.com>

	* 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:



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]