diff options
author | Tom Tromey <tromey@adacore.com> | 2020-01-22 12:30:40 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-01-31 11:38:37 +0100 |
commit | fd9faca826e6ee9178cf0b1c2486e3c662d6375a (patch) | |
tree | a36b2251db9885dcd2fa78bd9d68db3b348e7e6d /gdb/ravenscar-thread.c | |
parent | 42330a681af23a80d3e1f201d2a65886875e74bd (diff) | |
download | fsf-binutils-gdb-fd9faca826e6ee9178cf0b1c2486e3c662d6375a.zip fsf-binutils-gdb-fd9faca826e6ee9178cf0b1c2486e3c662d6375a.tar.gz fsf-binutils-gdb-fd9faca826e6ee9178cf0b1c2486e3c662d6375a.tar.bz2 |
Fix ravenscar-thread.c for multi-target
ravenscar-thread.c needed a change to adapt to multi-target:
ravenscar_thread_target::mourn_inferior called the mourn_inferior
method on the target beneat -- but when the target beneath was the
remote target, this resulted in the ravenscar target being deleted.
Switching the order of the calls to unpush_target and the beneath's
mourn_inferior fixes this problem.
gdb/ChangeLog
2020-01-31 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (ravenscar_thread_target::mourn_inferior):
Call beneath target's mourn_inferior after unpushing.
Change-Id: Ia80380515c403adc40505a6b3420c9cb35754370
Diffstat (limited to 'gdb/ravenscar-thread.c')
-rw-r--r-- | gdb/ravenscar-thread.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c index 5d24c59..fd3beb0 100644 --- a/gdb/ravenscar-thread.c +++ b/gdb/ravenscar-thread.c @@ -515,8 +515,9 @@ void ravenscar_thread_target::mourn_inferior () { m_base_ptid = null_ptid; - beneath ()->mourn_inferior (); + target_ops *beneath = this->beneath (); unpush_target (this); + beneath->mourn_inferior (); } /* Implement the to_core_of_thread target_ops "method". */ |