pthread_cancel and EH: let's try this again

Alexander Terekhov terekhov at web.de
Sat Jul 23 18:48:10 UTC 2005


Peter Dimov wrote:
> 
> Alexander Terekhov wrote:
> > Peter Dimov wrote:
> > [...]
> >> I don't insist on this particular model. I'm in favor of a family of
> >> models whose characteristic is no implicit cancel state manipulation
> >> and conditional cancel delivery.
> >>
> >> The actual condition can be "no unfinished exception", but it can
> >> also be "no uncaught exception", "no unfinished cancellation
> >> exception", and so on.
> >
> > where the "finish" is manifested via enabling cancellation by the user
> > code.
> 
> But the problem is with existing user code that doesn't reenable
> cancellation. 

That's either a bug or a feature of "existing user code". Make it 
cancel-aware. Complain about lack of portable C++ exception type
identity for cancellation exception so that it can be distinguished 
from other exceptions (when you can catch multiple).

>               The cancellation exception is swallowed by the catch-all
> clause, the request is lost, and the cancel state remains disabled.

See above.

> 
> As you can see, this leads to fixes that break catch(...) in a variety of
> creative ways.
> 
> > http://opengroup.org/austin/mailarchives/austin-review-l/msg01450.html
> 
> So it was _your_ idea. ;-)

It did came to my mind... but its was Butenhof who authored the patch:

http://www.opengroup.org/austin/mailarchives/austin-group-l/msg05916.html
http://www.opengroup.org/austin/mailarchives/austin-group-l/msg05987.html
http://www.opengroup.org/austin/mailarchives/austin-group-l/msg05989.html

;-)

regards,
alexander.




More information about the c++-pthreads mailing list