gdb: remove unneeded switch_to_thread from thr_try_catch_cmd
I spotted that every time thr_try_catch_cmd is called GDB has already switched to the required thread. The call to switch_to_thread at the head of thr_try_catch_cmd is therefore redundant. This commit replaces the call to switch_to_thread with an assertion that we already have the required thread selected. I also extended the header comment on thr_try_catch_cmd to make it clearer when this function could throw an exception. There should be no user visible changes after this commit. gdb/ChangeLog: * thread.c (thr_try_catch_cmd): Replace swith_to_thread with an assert. Extend the header comment.
This commit is contained in:
parent
f237f998d1
commit
0f93c3a25b
@ -1,3 +1,8 @@
|
|||||||
|
2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
|
* thread.c (thr_try_catch_cmd): Replace swith_to_thread with an
|
||||||
|
assert. Extend the header comment.
|
||||||
|
|
||||||
2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
|
2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* Makefile.in (SUBDIR_TUI_SRCS): Add tui/tui-location.c.
|
* Makefile.in (SUBDIR_TUI_SRCS): Add tui/tui-location.c.
|
||||||
|
@ -1466,15 +1466,16 @@ tp_array_compar_descending (const thread_info_ref &a, const thread_info_ref &b)
|
|||||||
return (a->per_inf_num > b->per_inf_num);
|
return (a->per_inf_num > b->per_inf_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Switch to thread THR and execute CMD.
|
/* Assuming that THR is the current thread, execute CMD.
|
||||||
FLAGS.QUIET controls the printing of the thread information.
|
FLAGS.QUIET controls the printing of the thread information.
|
||||||
FLAGS.CONT and FLAGS.SILENT control how to handle errors. */
|
FLAGS.CONT and FLAGS.SILENT control how to handle errors. Can throw an
|
||||||
|
exception if !FLAGS.SILENT and !FLAGS.CONT and CMD fails. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
thr_try_catch_cmd (thread_info *thr, const char *cmd, int from_tty,
|
thr_try_catch_cmd (thread_info *thr, const char *cmd, int from_tty,
|
||||||
const qcs_flags &flags)
|
const qcs_flags &flags)
|
||||||
{
|
{
|
||||||
switch_to_thread (thr);
|
gdb_assert (is_current_thread (thr));
|
||||||
|
|
||||||
/* The thread header is computed before running the command since
|
/* The thread header is computed before running the command since
|
||||||
the command can change the inferior, which is not permitted
|
the command can change the inferior, which is not permitted
|
||||||
|
Loading…
Reference in New Issue
Block a user