gdb/
* infrun.c (infrun_thread_thread_exit): New. (_initialize_infrun): Attach it to the thread_exit observer. * thread.c (delete_thread_1): Always call the observer, passing it the silent flag. * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter. If SILENT, return immediately. gdb/doc/ * observer.texi (thread_exit): Add "silent" parameter.
This commit is contained in:
parent
d729566a19
commit
a07daef34e
6 changed files with 38 additions and 9 deletions
10
gdb/infrun.c
10
gdb/infrun.c
|
@ -1691,6 +1691,15 @@ infrun_thread_stop_requested (ptid_t ptid)
|
|||
iterate_over_threads (infrun_thread_stop_requested_callback, &ptid);
|
||||
}
|
||||
|
||||
void nullify_last_target_wait_ptid (void);
|
||||
|
||||
static void
|
||||
infrun_thread_thread_exit (struct thread_info *tp, int silent)
|
||||
{
|
||||
if (ptid_equal (target_last_wait_ptid, tp->ptid))
|
||||
nullify_last_target_wait_ptid ();
|
||||
}
|
||||
|
||||
/* Callback for iterate_over_threads. */
|
||||
|
||||
static int
|
||||
|
@ -5575,6 +5584,7 @@ Options are 'forward' or 'reverse'."),
|
|||
|
||||
observer_attach_thread_ptid_changed (infrun_thread_ptid_changed);
|
||||
observer_attach_thread_stop_requested (infrun_thread_stop_requested);
|
||||
observer_attach_thread_exit (infrun_thread_thread_exit);
|
||||
|
||||
/* Explicitly create without lookup, since that tries to create a
|
||||
value with a void typed value, and when we get here, gdbarch
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue