diff options
author | rpj <rpj> | 2005-05-08 16:52:50 +0000 |
---|---|---|
committer | rpj <rpj> | 2005-05-08 16:52:50 +0000 |
commit | 7395b1431d5e2160682de273b46252c747ccbf36 (patch) | |
tree | bcff10e33282212ae087bb5074bc6025fc1313a3 /implement.h | |
parent | 78f83cfa240ec14874b22c7302ff8d306c130aaf (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 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); |