summaryrefslogtreecommitdiff
path: root/kern/thread_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'kern/thread_i.h')
-rw-r--r--kern/thread_i.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/kern/thread_i.h b/kern/thread_i.h
index 865787a0..9bb55827 100644
--- a/kern/thread_i.h
+++ b/kern/thread_i.h
@@ -107,6 +107,15 @@ struct thread {
/* Turnstile available for lending */
struct turnstile *priv_turnstile;
+ /*
+ * When a thread wakes up after waiting for a condition variable,
+ * it sets this variable so that other waiters are only awaken
+ * after the associated mutex has actually been released.
+ *
+ * This member is thread-local.
+ */
+ struct condition *last_cond;
+
/* Per-thread turnstile data */
struct turnstile_td turnstile_td;