gdb: fix correct shutdown when using pipes
authorSpencer Oliver <spen@spen-soft.co.uk>
Thu, 22 Nov 2012 11:49:52 +0000 (11:49 +0000)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 24 Dec 2012 11:00:52 +0000 (11:00 +0000)
50d5441e2a615fb2c44b41a777e4373901f7a2e6 commit added a regression when
using pipes with GDB, OpenOCD would appear to hang when exiting GDB.

This fixes that behaviour so we shutdown correctly.

Change-Id: I9b337c2bdd41b1966de1c7631118257afcbfa6bd
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/993
Tested-by: jenkins
src/server/server.c

index 1499e73875b94612c0bac5ffc5520d5c2038a231..8da82ec88969ba038434763008be7e1bf339804e 100644 (file)
@@ -465,9 +465,10 @@ int server_loop(struct command_context *command_context)
                                                retval = service->input(c);
                                                if (retval != ERROR_OK) {
                                                        struct connection *next = c->next;
-                                                       if (service->type == CONNECTION_PIPE) {
+                                                       if (service->type == CONNECTION_PIPE ||
+                                                                       service->type == CONNECTION_STDINOUT) {
                                                                /* if connection uses a pipe then
-                                                                *shutdown openocd on error */
+                                                                * shutdown openocd on error */
                                                                shutdown_openocd = 1;
                                                        }
                                                        remove_connection(service, c);