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


This time it was my fault.
Sorry.

Thomas

On Fri, 5 Jul 2002, Robert Collins wrote:

> Thomas, I can't see the patch again :[.
>
> Rob
>
> ----- Original Message -----
> From: "Thomas Pfaff" <tpfaff@gmx.net>
> To: <cygwin-patches@cygwin.com>
> Sent: Friday, July 05, 2002 4:50 PM
> Subject: [PATCH] pthread_key patch
>
>
> >
> >
> > 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
> >
> > At least the changes in pthread_key::get should be applied, peoble would
> > be very surprised if the value of errno or Win32LastError will be set to 0
> > behind her back.
> >
> > Thomas
> >
> > Changelog:
> >
> > 2002-07-05  Thomas Pfaff  <tpfaff@gmx.net>
> >
> > * init.cc (dll_entry): Run the pthread_key destructors on thread
> > and process detach. This will make sure that regardless a thread
> > is created with pthread_create or CreateThread its eh context
> > will be freed.
> > * thread.cc: Moved #define MT_INTERFACE from thread.cc to
> > thread.h.
> > (pthread_key_destructor_list::IterateNull): Run
> > destructor only if value is not NULL.
> > (pthread_key::get): Save and restore WIN32 LastError to avoid
> > that Lasterror is cleared in the exception handling code.
> > set_errno (0) removed.
> > (__pthread_exit): Removed IterateNull call. This will be done
> > during thread detach.
> > * thread.h (pthread::cleanup_stack): Moved #define MT_INTERFACE
> > user_data->threadinterface from thread.cc to this location.
> >
> >
> >
> >
>

Attachment: pthread_key.patch
Description: Text document


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