From: Tom Tromey Date: Wed, 23 Jan 2019 18:58:35 +0000 (+0000) Subject: Remove cleanup from stop_all_threads X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9885e6bb5b0f6f0147f9b3a15a4bd4516faf4a26;p=binutils-gdb.git 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 Pedro Alves * infrun.c (disable_thread_events): Delete. (stop_all_threads): Use SCOPE_EXIT. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4f536753f1a..1df10d41a98 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-01-23 Tom Tromey + Pedro Alves + + * infrun.c (disable_thread_events): Delete. + (stop_all_threads): Use SCOPE_EXIT. + 2019-01-23 Tom Tromey Pedro Alves diff --git a/gdb/infrun.c b/gdb/infrun.c index 76dedd272a0..d954eae6ed2 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -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"); }