X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fserver%2Fgdb_server.c;h=712c393417353c5a90bcf532a5c1daa5f66ac8d9;hp=2acebe83968eb0d224b7e6273a30509d72724967;hb=cbf7889873c16e80109ee7d46995a0adf08af84c;hpb=a4cdce0129a6b206a2081d77dd518ce2cae0b71f diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 2acebe8396..712c393417 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -732,7 +732,6 @@ static void gdb_signal_reply(struct target *target, struct connection *connectio } else { if (gdb_connection->ctrl_c) { signal_var = 0x2; - gdb_connection->ctrl_c = 0; } else signal_var = gdb_last_signal(target); @@ -769,11 +768,14 @@ static void gdb_signal_reply(struct target *target, struct connection *connectio target->rtos->current_thread); target->rtos->current_threadid = target->rtos->current_thread; target->rtos->gdb_target_for_threadid(connection, target->rtos->current_threadid, &ct); - signal_var = gdb_last_signal(ct); + if (!gdb_connection->ctrl_c) + signal_var = gdb_last_signal(ct); } sig_reply_len = snprintf(sig_reply, sizeof(sig_reply), "T%2.2x%s%s", signal_var, stop_reason, current_thread); + + gdb_connection->ctrl_c = 0; } gdb_put_packet(connection, sig_reply, sig_reply_len);