If halt times out, stop GDB. Allows e.g. manual reset via monitor commands.
[fw/openocd] / src / server / gdb_server.c
index 00de5fc6fe942b2ab7ac2b6bb5b80623f5da6f8a..ad09a0e704624a47d605b3d3afdf5a9174b062f2 100644 (file)
@@ -2194,10 +2194,13 @@ int gdb_input_inner(connection_t *connection)
                                retval = target_halt(target);
                                if (retval != ERROR_OK)
                                {
-                                       /* stop this debug session */
                                        target_call_event_callbacks(target, TARGET_EVENT_GDB_HALT);
                                }
                                gdb_con->ctrl_c = 0;
+                       } else
+                       {
+                               LOG_INFO("The target is not running when halt was requested, stopping GDB.");
+                               target_call_event_callbacks(target, TARGET_EVENT_GDB_HALT);
                        }
                }