From: Matthias Welwarsky Date: Fri, 17 Feb 2017 15:12:07 +0000 (+0100) Subject: rtos: run rtos create hook only once on autodetect X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3aa8bd2d1704118ad9bbee2f21cbc15a848c8c5b;p=openocd rtos: run rtos create hook only once on autodetect Whenever a "qSymbol" from gdb is received, the rtos "create" function was called. Make sure this happens only once and only if rtos autodetection is used. Change-Id: Ie5f8632cfce2d64a38dbdb63468302c4e8a784f4 Signed-off-by: Matthias Welwarsky Reviewed-on: http://openocd.zylin.com/3998 Tested-by: jenkins Reviewed-by: Sergey A. Borshch Reviewed-by: Matthias Welwarsky --- diff --git a/src/rtos/rtos.c b/src/rtos/rtos.c index 4552a87d..497ea8b4 100644 --- a/src/rtos/rtos.c +++ b/src/rtos/rtos.c @@ -346,9 +346,11 @@ int rtos_thread_packet(struct connection *connection, char const *packet, int pa return ERROR_OK; } else if (strncmp(packet, "qSymbol", 7) == 0) { if (rtos_qsymbol(connection, packet, packet_size) == 1) { - target->rtos_auto_detect = false; - target->rtos->type->create(target); - target->rtos->type->update_threads(target->rtos); + if (target->rtos_auto_detect == true) { + target->rtos_auto_detect = false; + target->rtos->type->create(target); + target->rtos->type->update_threads(target->rtos); + } } return ERROR_OK; } else if (strncmp(packet, "qfThreadInfo", 12) == 0) {