aboutsummaryrefslogtreecommitdiff
path: root/src/rtos/rtos.c
diff options
context:
space:
mode:
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>2017-02-17 16:12:07 +0100
committerMatthias Welwarsky <matthias@welwarsky.de>2018-02-21 12:13:57 +0000
commit3aa8bd2d1704118ad9bbee2f21cbc15a848c8c5b (patch)
tree040eebbe61c32bc75105dba614b28733731a1c9f /src/rtos/rtos.c
parent293fb9b25faf8c89a9d06d73b83526b86d4c14d8 (diff)
downloadriscv-openocd-3aa8bd2d1704118ad9bbee2f21cbc15a848c8c5b.zip
riscv-openocd-3aa8bd2d1704118ad9bbee2f21cbc15a848c8c5b.tar.gz
riscv-openocd-3aa8bd2d1704118ad9bbee2f21cbc15a848c8c5b.tar.bz2
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 <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/3998 Tested-by: jenkins Reviewed-by: Sergey A. Borshch <sb-sf@users.sourceforge.net> Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/rtos/rtos.c')
-rw-r--r--src/rtos/rtos.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/rtos/rtos.c b/src/rtos/rtos.c
index 4552a87..497ea8b 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) {