summaryrefslogtreecommitdiff
path: root/kern/sleepq.h
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2017-07-21 00:54:31 +0200
committerRichard Braun <rbraun@sceen.net>2017-07-21 00:54:54 +0200
commit4c0dcbeb7d363918c9a4a75faf3f1912f580f9c1 (patch)
tree6fdb4a1b80d4aa51bbafda6f930f9f222adc4368 /kern/sleepq.h
parentadcae3076edee5ed24cb06f4328f88cfa5e8998a (diff)
parent5c2cf8fff7a1d6dc6b88615df5433ddccbbcf51f (diff)
Merge branch 'adaptive_spinning'
Diffstat (limited to 'kern/sleepq.h')
-rw-r--r--kern/sleepq.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/kern/sleepq.h b/kern/sleepq.h
index 4d37182a..651b3e7c 100644
--- a/kern/sleepq.h
+++ b/kern/sleepq.h
@@ -56,9 +56,15 @@ void sleepq_destroy(struct sleepq *sleepq);
*
* The condition argument must be true if the synchronization object
* is a condition variable.
+ *
+ * Note that, in the case of the non-blocking variant, the call may also
+ * return NULL if internal state shared by unrelated synchronization
+ * objects is locked.
*/
struct sleepq * sleepq_acquire(const void *sync_obj, bool condition,
unsigned long *flags);
+struct sleepq * sleepq_tryacquire(const void *sync_obj, bool condition,
+ unsigned long *flags);
void sleepq_release(struct sleepq *sleepq, unsigned long flags);
/*