summaryrefslogtreecommitdiff
path: root/implement.h
diff options
context:
space:
mode:
Diffstat (limited to 'implement.h')
-rw-r--r--implement.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/implement.h b/implement.h
index d4cbbe5..eeb7c88 100644
--- a/implement.h
+++ b/implement.h
@@ -150,6 +150,7 @@ struct ptw32_thread_t_
#endif /* HAVE_SIGSET_T */
int implicit:1;
void *keys;
+ void *nextAssoc;
};
@@ -378,8 +379,10 @@ struct ThreadKeyAssoc
* key is concluded.
*
* To avoid deadlock: whenever both locks are required, the key
- * and thread locks are always applied in the order: key lock
- * then thread lock.
+ * and thread locks are always acquired in the order: key lock
+ * then thread lock. An exception to this exists when a thread
+ * calls the destructors, however this is done carefully to
+ * avoid deadlock.
*
* An association is created when a thread first calls
* pthread_setspecific() on a key that has a specified
@@ -601,8 +604,7 @@ extern "C"
void ptw32_callUserDestroyRoutines (pthread_t thread);
- int ptw32_tkAssocCreate (ThreadKeyAssoc ** assocP,
- ptw32_thread_t * thread, pthread_key_t key);
+ int ptw32_tkAssocCreate (ptw32_thread_t * thread, pthread_key_t key);
void ptw32_tkAssocDestroy (ThreadKeyAssoc * assoc);