gdbserver/linux-low: replace direct assignment to current_thread

Use scoped_restore_current_thread and switch_to_thread in
linux_process_target::wait_for_sigstop.
This commit is contained in:
Tankut Baris Aktemur 2021-12-13 12:22:48 +01:00
parent 24583e45ef
commit 20ac1cdb8c

View File

@ -3826,6 +3826,8 @@ linux_process_target::wait_for_sigstop ()
else
saved_tid = null_ptid; /* avoid bogus unused warning */
scoped_restore_current_thread restore_thread;
if (debug_threads)
debug_printf ("wait_for_sigstop: pulling events\n");
@ -3836,7 +3838,7 @@ linux_process_target::wait_for_sigstop ()
gdb_assert (ret == -1);
if (saved_thread == NULL || mythread_alive (saved_tid))
current_thread = saved_thread;
return;
else
{
if (debug_threads)
@ -3845,7 +3847,8 @@ linux_process_target::wait_for_sigstop ()
/* We can't change the current inferior behind GDB's back,
otherwise, a subsequent command may apply to the wrong
process. */
current_thread = NULL;
restore_thread.dont_restore ();
switch_to_thread (nullptr);
}
}