hwthread: Restore current_threadid in hwthread_update_threads
commit4fe3997294e24d9a7bb41290088d6410f7ba1eca
authorKoudai Iwahori <koudai@google.com>
Fri, 18 Nov 2022 14:18:17 +0000 (18 06:18 -0800)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 3 Dec 2022 09:26:29 +0000 (3 09:26 +0000)
tree98eb22ddecd73329ae9db36681c2813fd3e2d75a
parenta9d74285358b2e2c8adc822b6151e9e548920c64
hwthread: Restore current_threadid in hwthread_update_threads

When OpenOCD receives a step-execution command from GDB and the target
is configured as rtos=hwthread, OpenOCD reconstructs the thread-info.
However, OpenOCD does not restore the thread id which is currently
selected by GDB. Due to this issue, OpenOCD sends the information of
wrong thread to GDB after the step execution.
This commit fixes the above issue by adding a code to save/restore the
thread id selected by GDB.

Signed-off-by: Koudai Iwahori <koudai@google.com>
Change-Id: I761a1141c04d48f1290e4f09baa7c7024f86f36a
Reviewed-on: https://review.openocd.org/c/openocd/+/7358
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/rtos/hwthread.c