Remove cleanup from stop_all_threads

This removes the cleanup from stop_all_threads, replacing it with a
scope_exit.

gdb/ChangeLog:
2019-01-23  Tom Tromey  <tom@tromey.com>
	    Pedro Alves  <palves@redhat.com>

	* infrun.c (disable_thread_events): Delete.
	(stop_all_threads): Use SCOPE_EXIT.
This commit is contained in:
Tom Tromey 2019-01-23 18:58:35 +00:00 committed by Pedro Alves
parent 286526c1e5
commit 9885e6bb5b
2 changed files with 7 additions and 12 deletions

View File

@ -1,3 +1,9 @@
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* infrun.c (disable_thread_events): Delete.
(stop_all_threads): Use SCOPE_EXIT.
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>

View File

@ -4273,14 +4273,6 @@ save_waitstatus (struct thread_info *tp, struct target_waitstatus *ws)
}
}
/* A cleanup that disables thread create/exit events. */
static void
disable_thread_events (void *arg)
{
target_thread_events (0);
}
/* See infrun.h. */
void
@ -4289,7 +4281,6 @@ stop_all_threads (void)
/* We may need multiple passes to discover all threads. */
int pass;
int iterations = 0;
struct cleanup *old_chain;
gdb_assert (target_is_non_stop_p ());
@ -4299,7 +4290,7 @@ stop_all_threads (void)
scoped_restore_current_thread restore_thread;
target_thread_events (1);
old_chain = make_cleanup (disable_thread_events, NULL);
SCOPE_EXIT { target_thread_events (0); };
/* Request threads to stop, and then wait for the stops. Because
threads we already know about can spawn more threads while we're
@ -4484,8 +4475,6 @@ stop_all_threads (void)
}
}
do_cleanups (old_chain);
if (debug_infrun)
fprintf_unfiltered (gdb_stdlog, "infrun: stop_all_threads done\n");
}