On Windows, this is required to flush the remaining data in the IO stream,
otherwise Gdb do not receive the last packet.

Signed-off-by: Fabien Chouteau <chout...@adacore.com>
---
 gdbstub.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/gdbstub.c b/gdbstub.c
index 0aa081b..dac3ce6 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -2391,6 +2391,10 @@ void gdb_exit(CPUState *env, int code)
 
   snprintf(buf, sizeof(buf), "W%02x", (uint8_t)code);
   put_packet(s, buf);
+
+  if (s->chr) {
+      qemu_chr_close(s->chr);
+  }
 }
 
 #ifdef CONFIG_USER_ONLY
-- 
1.7.1


Reply via email to