Skip to content

Commit e18519e

Browse files
authored
gdbserver: set correct thread context before generating stop response (#1836)
1 parent d4ec27c commit e18519e

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

pyocd/gdbserver/gdbserver.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,13 +1475,16 @@ def syscall(self, op: str) -> Tuple[int, int]:
14751475
return -1, 0
14761476

14771477
def get_t_response(self, client, forceSignal=None):
1478-
response = client.target_facade.get_t_response(forceSignal)
1479-
1480-
# Append thread
1481-
if not self.is_threading_enabled():
1482-
response += b"thread:1;"
1478+
if self.is_threading_enabled():
1479+
currentThread = self.thread_provider.current_thread
1480+
currentThreadId = currentThread.unique_id
1481+
client.target_facade.set_context(currentThread.context)
14831482
else:
1484-
response += ("thread:%x;" % self.thread_provider.current_thread.unique_id).encode()
1483+
currentThreadId = 1
1484+
client.target_facade.set_context(self.target_context)
1485+
1486+
response = client.target_facade.get_t_response(forceSignal)
1487+
response += ("thread:%x;" % currentThreadId).encode()
14851488

14861489
# Optionally append core
14871490
if self.report_core:

0 commit comments

Comments
 (0)