|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-08-23 09:58:53
From: "Scott McCaskill" <scott_at_[hidden]>
> You're assuming that use of catch(...) implies that the exception will
> always be re-thrown, but this does not have to be the case and indeed a
> library implementor cannot make that guarantee:
No, I don't assume anything like this. Not re-throwing in catch(...) will
ignore the cancelation request. This is a feature.
If you don't like the feature, you need core language support for a special
exception class that is always re-thrown at the end of the catch(...)
clause.
> So, thread cancellation is implemented this way, in order for it to be
> robust the user must guarantee that something like the above never occurs.
> If any libraries are being used for which the source is not available,
this
> isn't possible (unless you have complete trust in the library vendor, I
> suppose, but have fun tracking down _that_ kind of bug!).
Have fun tracking the other kind of bug where the library you're using is
not exception safe (basic guarantee.) I don't see a problem here. Either the
library you're using works or it doesn't.
-- Peter Dimov Multi Media Ltd.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk