This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Fix ravenscar-thread.c for multi-target
- From: Tom Tromey <tromey at adacore dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at adacore dot com>
- Date: Thu, 23 Jan 2020 13:59:09 -0700
- Subject: [PATCH] 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-23 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (ravenscar_thread_target::mourn_inferior):
Call beneath target's mourn_inferior after unpushing.
Change-Id: Ia80380515c403adc40505a6b3420c9cb35754370
---
gdb/ChangeLog | 5 +++++
gdb/ravenscar-thread.c | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c
index 5d24c59e996..fd3beb03ec3 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". */
--
2.21.1