This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

pthread_exit() and tss destructors


Hi,

Third-party code using POSIX threads and tss caused me some trouble when
such a thread exited. It turned out that tss destructors got called
multiple times for the same key. According to the POSIX 1003.1 standard,
the code calling these destructors should set each value to NULL before
calling the associated destructor.

The attached patch modifies "pthread.cxx" accordingly.

Robin

2002-02-27  Robin Farine  <robin.farine@terminus.org>

	* src/pthread.cxx (pthread_exit): While running thread static
	storage destructors, sets the thread's value associated with the
	current key to NULL before invoking the destructor.

Attachment: pthreads.diff
Description: Text document

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]