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 /gdb/infrun.c | |
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.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 17 |
1 files changed, 2 insertions, 15 deletions
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 |