diff options
author | rpj <rpj> | 2005-05-08 16:55:02 +0000 |
---|---|---|
committer | rpj <rpj> | 2005-05-08 16:55:02 +0000 |
commit | ac8e3d247fa03af61b5411f92508481e7c3f49f8 (patch) | |
tree | f5d9c2a8bc58a2e6135e8aa2b207daab23de14a7 /implement.h | |
parent | 7523c7c4d75652f67cd31cb123e1268790394c8b (diff) |
''
Diffstat (limited to 'implement.h')
-rw-r--r-- | implement.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/implement.h b/implement.h index 994a768..2e883a8 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; }; @@ -386,8 +387,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 @@ -610,8 +613,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); |