diff options
author | Tom Tromey <tom@tromey.com> | 2020-12-11 09:21:53 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-12-11 09:21:54 -0700 |
commit | d634cd0bcef830f2c8b9a544f1f0621fa382e2cc (patch) | |
tree | 0ee3b57e6577e4f3f77aa5b595a66494300214bb | |
parent | 51107df53aeb2f6a5a03a1af29eec773b3aca463 (diff) | |
download | gdb-d634cd0bcef830f2c8b9a544f1f0621fa382e2cc.zip gdb-d634cd0bcef830f2c8b9a544f1f0621fa382e2cc.tar.gz gdb-d634cd0bcef830f2c8b9a544f1f0621fa382e2cc.tar.bz2 |
Use thread_info_ref in stop_context
This changes stop_context to use a thread_info_ref, removing some
manual reference counting.
gdb/ChangeLog
2020-12-11 Tom Tromey <tom@tromey.com>
* infrun.c (struct stop_context) <thread>: Now a thread_info_ref.
(stop_context::stop_context): Update.
(stop_context::~stop_context): Remove.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/infrun.c | 17 |
2 files changed, 8 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3d97380..98b7c13 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2020-12-11 Tom Tromey <tom@tromey.com> + * infrun.c (struct stop_context) <thread>: Now a thread_info_ref. + (stop_context::stop_context): Update. + (stop_context::~stop_context): Remove. + +2020-12-11 Tom Tromey <tom@tromey.com> + * inferior.c (current_inferior_): Change type. (current_inferior, set_current_inferior, initialize_inferiors): Update. diff --git a/gdb/infrun.c b/gdb/infrun.c index e7b69ae..793a7d2 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -8097,7 +8097,6 @@ maybe_remove_breakpoints (void) struct stop_context { stop_context (); - ~stop_context (); DISABLE_COPY_AND_ASSIGN (stop_context); @@ -8112,7 +8111,7 @@ struct stop_context /* If stopp for a thread event, this is the thread that caused the stop. */ - struct thread_info *thread; + thread_info_ref thread; /* The inferior that caused the stop. */ int inf_num; @@ -8131,20 +8130,8 @@ stop_context::stop_context () { /* Take a strong reference so that the thread can't be deleted yet. */ - thread = inferior_thread (); - thread->incref (); + thread = thread_info_ref::new_reference (inferior_thread ()); } - else - thread = NULL; -} - -/* Release a stop context previously created with save_stop_context. - Releases the strong reference to the thread as well. */ - -stop_context::~stop_context () -{ - if (thread != NULL) - thread->decref (); } /* Return true if the current context no longer matches the saved stop |