diff options
author | Matthias Welwarsky <matthias.welwarsky@sysgo.com> | 2017-02-17 16:12:07 +0100 |
---|---|---|
committer | Matthias Welwarsky <matthias@welwarsky.de> | 2018-02-21 12:13:57 +0000 |
commit | 3aa8bd2d1704118ad9bbee2f21cbc15a848c8c5b (patch) | |
tree | 040eebbe61c32bc75105dba614b28733731a1c9f /src/rtos/rtos.c | |
parent | 293fb9b25faf8c89a9d06d73b83526b86d4c14d8 (diff) | |
download | riscv-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.c | 8 |
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) { |