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
+2020-01-31 Tom Tromey <tromey@adacore.com>
+
+ * ravenscar-thread.c (ravenscar_thread_target::mourn_inferior):
+ Call beneath target's mourn_inferior after unpushing.
+
2020-01-31 Andrew Burgess <andrew.burgess@embecosm.com>
PR tui/9765
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". */