]> Git Repo - qemu.git/blobdiff - gdbstub.c
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180716' into...
[qemu.git] / gdbstub.c
index e4ece2f5bc59af3d8224ed80969bb215233940cc..d6ab95006c46d71aa800868a11919875da2a3bd4 100644 (file)
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1558,6 +1558,12 @@ void gdb_do_syscallv(gdb_syscall_complete_cb cb, const char *fmt, va_list va)
     *p = 0;
 #ifdef CONFIG_USER_ONLY
     put_packet(s, s->syscall_buf);
+    /* Return control to gdb for it to process the syscall request.
+     * Since the protocol requires that gdb hands control back to us
+     * using a "here are the results" F packet, we don't need to check
+     * gdb_handlesig's return value (which is the signal to deliver if
+     * execution was resumed via a continue packet).
+     */
     gdb_handlesig(s->c_cpu, 0);
 #else
     /* In this case wait to send the syscall packet until notification that
@@ -1836,6 +1842,7 @@ static bool gdb_accept(void)
     /* set short latency */
     if (socket_set_nodelay(fd)) {
         perror("setsockopt");
+        close(fd);
         return false;
     }
 
This page took 0.021907 seconds and 4 git commands to generate.