[PATCH] pthread cancellation
Thomas Pfaff
tpfaff@gmx.net
Tue Jun 25 07:20:00 GMT 2002
This patch provides a pthread cancellation implementation.
Rob, please mail me if you can't read the attachment.
Thomas
2002-06-25 Thomas Pfaff <tpfaff@gmx.net>
* include/pthread.h (PTHREAD_CANCELED): Defined a reasonable
value.
* pthread.cc (pthread_exit): Call method instead of function.
(pthread_setcancelstate): Ditto.
(pthread_setcanceltype): Ditto.
(pthread_testcancel): Ditto.
* thread.h (pthread::cancel_event): New member.
(__pthread_cancel_self): New prototype.
(pthread::exit): New Method.
(pthread::cancel): Ditto.
(pthread::testcancel): Ditto.
(pthread::cancel_self): Ditto.
(pthread::static_cancel_self): Ditto.
(pthread::setcancelstate): Ditto.
(pthread::setcanceltype): Ditto.
(__pthread_cancel): Give c++ linkage.
(__pthread_exit): Remove.
(__pthread_setcancelstate): Ditto.
(__pthread_setcanceltype): Ditto.
(__pthread_testcancel): Ditto.
* thread.cc (pthread::pthread): Inititialize cancel_event.
(pthread::~pthread): Close cancel_event if needed.
(pthread::create): Create cancel_event.
(pthread::exit): New method. Replacement for __pthread_exit.
(pthread::cancel): New method.
(pthread::testcancel): Ditto.
(pthread::static_cancel_self); New static method.
(pthread::setcancelstate): New method. Replacement for
__pthread_setcancelstate.
(pthread::setcanceltype): New method. Replacement for
__pthread_setcanceltype.
(pthread::pop_cleanup_handler): Added lock for async cancel safe
cancellation.
(pthread::thread_init_wrapper): Change __pthread_exit to
thread->exit().
(__pthread_cancel): Call method thread->cancel().
(__pthread_exit): Remove.
(__pthread_setcancelstate): Ditto.
(__pthread_setcanceltype): Ditto.
(__pthread_testcancel): Ditto.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pthread_cancel.patch
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20020625/7aa85df2/attachment.ksh>
More information about the Cygwin-patches
mailing list