summaryrefslogtreecommitdiffstats
path: root/src/core/gdbstub.c
diff options
context:
space:
mode:
authorStefan Hajnoczi2008-06-16 14:18:20 +0200
committerMichael Brown2008-06-30 20:19:48 +0200
commit7eb555a8ae87202909e5e1c759149bc2375bb9f5 (patch)
tree7060af82f34c2c29006c273443ad57cbde274059 /src/core/gdbstub.c
parent[GDB] Remove unused DR6 debug register variable (diff)
downloadipxe-7eb555a8ae87202909e5e1c759149bc2375bb9f5.tar.gz
ipxe-7eb555a8ae87202909e5e1c759149bc2375bb9f5.tar.xz
ipxe-7eb555a8ae87202909e5e1c759149bc2375bb9f5.zip
[GDB] Obey flow control when GDB connects.
Diffstat (limited to 'src/core/gdbstub.c')
-rw-r--r--src/core/gdbstub.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/gdbstub.c b/src/core/gdbstub.c
index 8e338775..bbed344f 100644
--- a/src/core/gdbstub.c
+++ b/src/core/gdbstub.c
@@ -350,6 +350,10 @@ static void gdbstub_state_wait_ack ( struct gdbstub *stub, char ch ) {
stub->parse = gdbstub_state_new;
} else if ( ch == '-' ) {
gdbstub_tx_packet ( stub ); /* retransmit */
+ } else if ( ch == '$' ) {
+ /* GDB is reconnecting, drop our packet and listen to GDB */
+ stub->trans->send ( "-", 1 );
+ stub->parse = gdbstub_state_new;
}
}