diff options
Diffstat (limited to 'gdbserver/gdbthread.h')
-rw-r--r-- | gdbserver/gdbthread.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gdbserver/gdbthread.h b/gdbserver/gdbthread.h index 7c293b1f89d..315a4da5167 100644 --- a/gdbserver/gdbthread.h +++ b/gdbserver/gdbthread.h @@ -233,4 +233,26 @@ lwpid_of (const thread_info *thread) return thread->id.lwp (); } +/* Switch the current thread. */ + +void switch_to_thread (thread_info *thread); + +/* Save/restore current thread. */ + +class scoped_restore_current_thread +{ +public: + scoped_restore_current_thread (); + ~scoped_restore_current_thread (); + + DISABLE_COPY_AND_ASSIGN (scoped_restore_current_thread); + + /* Cancel restoring on scope exit. */ + void dont_restore () { m_dont_restore = true; } + +private: + bool m_dont_restore = false; + thread_info *m_thread; +}; + #endif /* GDBSERVER_GDBTHREAD_H */ |