summaryrefslogtreecommitdiff
path: root/src/components/include/utils/threads/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/include/utils/threads/thread.h')
-rw-r--r--src/components/include/utils/threads/thread.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/components/include/utils/threads/thread.h b/src/components/include/utils/threads/thread.h
index fd2b5e9fd9..c81b912e9a 100644
--- a/src/components/include/utils/threads/thread.h
+++ b/src/components/include/utils/threads/thread.h
@@ -119,12 +119,11 @@ class Thread {
return delegate_lock_;
}
- ThreadDelegate *delegate() const {
+ ThreadDelegate* delegate() const {
return delegate_;
}
- void set_delegate(ThreadDelegate *delegate) {
- DCHECK(!isThreadRunning_);
+ void set_delegate(ThreadDelegate* delegate) {
delegate_ = delegate;
}
@@ -132,6 +131,9 @@ class Thread {
friend void DeleteThread(Thread* thread);
public:
+ // Yield current thread
+ static void yield();
+
// Get unique ID of currently executing thread
static PlatformThreadHandle CurrentId();
@@ -195,6 +197,12 @@ class Thread {
}
/**
+ * @brief Checks if invoked in this Thread context
+ * @return True if called from this Thread class, false otherwise
+ */
+ bool IsCurrentThread() const;
+
+ /**
* @brief Thread options.
* @return thread options.
*/