summaryrefslogtreecommitdiff
path: root/lib/libthr/thread/thr_private.h
diff options
context:
space:
mode:
authorMike Makonnen <mtm@FreeBSD.org>2004-01-19 14:51:45 +0000
committerMike Makonnen <mtm@FreeBSD.org>2004-01-19 14:51:45 +0000
commitc40bafac85090c48459be8ad7d6ef854aa305da2 (patch)
tree8ea09bd49e1effae3ff537f35c5766a1cdc3bf69 /lib/libthr/thread/thr_private.h
parentd8239e2877c8c7900be94766fe1781d2c60b4bb3 (diff)
Notes
Diffstat (limited to 'lib/libthr/thread/thr_private.h')
-rw-r--r--lib/libthr/thread/thr_private.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h
index 7a7412bbdfb3..c2bea3fafb11 100644
--- a/lib/libthr/thread/thr_private.h
+++ b/lib/libthr/thread/thr_private.h
@@ -423,6 +423,15 @@ struct pthread_specific_elem {
int seqno;
};
+struct rwlock_held {
+ LIST_ENTRY(rwlock_held) rh_link;
+ struct pthread_rwlock *rh_rwlock;
+ int rh_rdcount;
+ int rh_wrcount;
+};
+
+LIST_HEAD(rwlock_listhead, rwlock_held);
+
/*
* Thread structure.
*/
@@ -562,6 +571,13 @@ struct pthread {
*/
TAILQ_HEAD(, pthread_mutex) mutexq;
+ /*
+ * List of read-write locks owned for reading _OR_ writing.
+ * This is accessed only by the current thread, so there's
+ * no need for mutual exclusion.
+ */
+ struct rwlock_listhead *rwlockList;
+
void *ret;
struct pthread_specific_elem *specific;
int specific_data_count;