X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Fravenscar-thread.c;h=59fdfaba794694434f1e3a2e59164f5de0caa98e;hb=5b6d1e4fa4fc6827c7b3f0e99ff120dfa14d65d2;hp=db269597709ce3c76d14b055eb13aac600117e3f;hpb=75c6c844d9df37761e0e834df057b89e41816e55;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c index db26959770..59fdfaba79 100644 --- a/gdb/ravenscar-thread.c +++ b/gdb/ravenscar-thread.c @@ -219,6 +219,9 @@ get_base_thread_from_ravenscar_task (ptid_t ptid) void ravenscar_thread_target::update_inferior_ptid () { + process_stratum_target *proc_target + = as_process_stratum_target (this->beneath ()); + int base_cpu; m_base_ptid = inferior_ptid; @@ -239,8 +242,8 @@ ravenscar_thread_target::update_inferior_ptid () /* The running thread may not have been added to system.tasking.debug's list yet; so ravenscar_update_thread_list may not always add it to the thread list. Add it here. */ - if (!find_thread_ptid (inferior_ptid)) - add_thread (inferior_ptid); + if (!find_thread_ptid (proc_target, inferior_ptid)) + add_thread (proc_target, inferior_ptid); } /* The Ravenscar Runtime exports a symbol which contains the ID of @@ -336,12 +339,14 @@ ravenscar_thread_target::wait (ptid_t ptid, struct target_waitstatus *status, int options) { + process_stratum_target *beneath + = as_process_stratum_target (this->beneath ()); ptid_t event_ptid; inferior_ptid = m_base_ptid; if (ptid != minus_one_ptid) ptid = m_base_ptid; - event_ptid = beneath ()->wait (ptid, status, 0); + event_ptid = beneath->wait (ptid, status, 0); /* Find any new threads that might have been created, and update inferior_ptid to the active thread. @@ -367,8 +372,8 @@ ravenscar_thread_target::wait (ptid_t ptid, static void ravenscar_add_thread (struct ada_task_info *task) { - if (find_thread_ptid (task->ptid) == NULL) - add_thread (task->ptid); + if (find_thread_ptid (current_inferior (), task->ptid) == NULL) + add_thread (current_inferior ()->process_target (), task->ptid); } void