Oh, and I'm not 100% sure that the cleanup_handler_push needs the locks
- shouldn't it be non cancellable? The IEEE P1003.1 reference I'm using
does not list pthread_clean_push as being cancellable, and explicitly
states that non listed functions (from the standard) are not
cancellable.

Rob

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]] On Behalf Of Robert Collins
> Sent: Monday, 10 June 2002 12:24 PM
> To: 'Thomas Pfaff'; [EMAIL PROTECTED]
> Subject: RE: [PATCH] added locks in pthread code
> 
> 
> I'm applying a variation on this. Again, mainly OOP style changes, but
> also making the mutex an instance rather than pointer. (And where you
> aware that you where leaking the mutex?)
> 
> Rob
> 
> > -----Original Message-----
> > From: Thomas Pfaff [mailto:[EMAIL PROTECTED]] 
> > Sent: Thursday, 25 April 2002 7:33 PM
> > To: [EMAIL PROTECTED]
> > Subject: [PATCH] added locks in pthread code
> > 
> > 
> > The patch will add locks via mutex around critical code to 
> > protect against
> > race conditions and fix __pthread_detach to cleanup when thread has
> > already terminated. This an incremental update again.
> > 
> > Greetings,
> > Thomas
> > 
> > 2002-04-25  Thomas Pfaff  <[EMAIL PROTECTED]>
> > 
> >     * thread.h (pthread::mutex): new member
> >     * thread.cc (pthread::pthread): Set mutex to NULL.
> >     (pthread::~pthread): Destroy mutex.
> >     (pthread::create): Initialize mutex.
> >     (thread_init_wrapper): Protect against race.
> >     (__pthread_cleanup_push): Ditto.
> >     (__pthread_exit): Ditto.
> >     (__pthread_join): Ditto
> >     (__pthread_detach): Protect against race and cleanup if 
> > thread has
> >     already terminated.
> > 
> 
> 

Reply via email to