This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin 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]

Re: [PATCH] pthread_key patch


Anything going on here?

cgf

On Wed, Jul 10, 2002 at 10:06:10PM -0400, Christopher Faylor wrote:
>On Mon, Jul 08, 2002 at 09:38:07AM +0200, Thomas Pfaff wrote:
>>
>>
>>On Fri, 5 Jul 2002, Christopher Faylor wrote:
>>
>>> On Fri, Jul 05, 2002 at 08:50:21AM +0200, Thomas Pfaff wrote:
>>> >If somebody is interested why if find this patch neccessary with a posix
>>> >threaded gcc could read
>>> >http://cygwin.com/ml/cygwin-patches/2002-q2/msg00214.html
>>>
>>> Can you summarize why you need to explicitly run destructors on process
>>> detach?  It seems like this should happen automatically anyway.  I assume
>>> that you're accessing thread-local storage on thread detach, so that's
>>> why you need to do things then.  Process detach on the other hand...
>>>
>>
>>This is pthread feature, i am not calling any of my own destructors.
>>
>>Pthread keys can have an additional destructor function that is called
>>when the thread is terminated. The 2.95.3 gcc use this feature to free the
>>thread specific exception context.
>>In the actual pthread code these destructor functions are called in
>>pthread_exit, but this works only for threads that have been created
>>pthread_create, but not with CreateThread. IMHO cygwin should support both
>>ways.
>>
>>The reason why i have added it to PROCESS_DETACH too is that the last
>>terminating thread is detached in PROCESS_DETACH, not in THREAD_DETACH.
>
>Ok.  Got it.  I thought that you were using standard c++ constructors.
>I apologize for not checking more closely.
>
>I'll let Robert comment on the efficacy of this patch.
>
>cgf


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