On Wed, Nov 21, 2012 at 07:35:29PM -0500, Christos Zoulas wrote: > Ok, that's simple to change. But where is the documentation for how this > is supposed to work, so I can put a cross-reference to it.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_key_delete.html It is the responsibility of the application to free any application storage or perform any cleanup actions for data structures related to the deleted key or associated thread-specific data in any threads; this cleanup can be done either before or after pthread_key_delete() is called. Any attempt to use key following the call to pthread_key_delete() results in undefined behavior. and later in the Rationale: No such cleanup is done by pthread_key_delete(). In particular, destructor functions are not called. Martin