diff options
Diffstat (limited to 'gdb/thread.c')
-rw-r--r-- | gdb/thread.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/gdb/thread.c b/gdb/thread.c index c6c63b7..289d33c 100644 --- a/gdb/thread.c +++ b/gdb/thread.c @@ -275,7 +275,7 @@ thread_info::thread_info (struct inferior *inf_, ptid_t ptid_) /* Nothing to follow yet. */ memset (&this->pending_follow, 0, sizeof (this->pending_follow)); this->pending_follow.kind = TARGET_WAITKIND_SPURIOUS; - this->suspend.waitstatus.kind = TARGET_WAITKIND_IGNORE; + this->m_suspend.waitstatus.kind = TARGET_WAITKIND_IGNORE; } thread_info::~thread_info () @@ -295,6 +295,27 @@ thread_info::deletable () const /* See gdbthread.h. */ +void +thread_info::set_pending_waitstatus (const target_waitstatus &ws) +{ + gdb_assert (!this->has_pending_waitstatus ()); + + m_suspend.waitstatus = ws; + m_suspend.waitstatus_pending_p = 1; +} + +/* See gdbthread.h. */ + +void +thread_info::clear_pending_waitstatus () +{ + gdb_assert (this->has_pending_waitstatus ()); + + m_suspend.waitstatus_pending_p = 0; +} + +/* See gdbthread.h. */ + int thread_is_in_step_over_chain (struct thread_info *tp) { @@ -771,7 +792,7 @@ set_executing_thread (thread_info *thr, bool executing) { thr->executing = executing; if (executing) - thr->suspend.stop_pc = ~(CORE_ADDR) 0; + thr->set_stop_pc (~(CORE_ADDR) 0); } void |