aboutsummaryrefslogtreecommitdiff
path: root/gdb/ravenscar-thread.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-01-22 12:30:40 -0700
committerTom Tromey <tromey@adacore.com>2020-01-31 11:38:37 +0100
commitfd9faca826e6ee9178cf0b1c2486e3c662d6375a (patch)
treea36b2251db9885dcd2fa78bd9d68db3b348e7e6d /gdb/ravenscar-thread.c
parent42330a681af23a80d3e1f201d2a65886875e74bd (diff)
downloadfsf-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.c3
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". */