summaryrefslogtreecommitdiff
path: root/kern/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'kern/thread.h')
-rw-r--r--kern/thread.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/kern/thread.h b/kern/thread.h
index 01d59e5f..aa5dc4f7 100644
--- a/kern/thread.h
+++ b/kern/thread.h
@@ -273,6 +273,10 @@ void __noreturn thread_exit(void);
* The interlock is used to synchronize the thread state with respect to
* wakeups, i.e. a wakeup request sent by another thread will not be missed
* if that thread is holding the interlock.
+ * As a special exception, threads that use preemption as a synchronization
+ * mechanism can ommit the interlock and pass a NULL pointer instead.
+ * In any case, the preemption nesting level must strictly be one when calling
+ * this function.
*
* This is a low level thread control primitive that should only be called by
* higher thread synchronization functions.