From: bill_kempf (williamkempf_at_[hidden])
Date: 2002-01-17 12:41:57
--- In boost_at_y..., "Peter Dimov" <pdimov_at_m...> wrote:
> From: "bill_kempf" <williamkempf_at_h...>
> > So, all this discussion leads us to:
> > 1) Use deferred cancellation (and allow the user to turn
> > off).
> > 2) Use a C++ exception for cancellation.
> > 3) Allow the user to catch the exception.
> > 4) Allow the user to "eat" the exception.
> > 5) Make the cancellation "flag" a sticky flag, so if the
> > the exception it will eventually be re-thrown when they call
> > cancellation point.
> > 6) Ensure cancellation points don't throw when uncaught_exception
> > returns true.
> > 7) Document that in general one should always rethrow a caught
> > cancelation exception.
> Yes to all. I'd rephrase 3, 4, and 7 as "normal C++ exception
> apply; see a good book on exceptions." ;-)
I'm not sure that 7 is a universal generality for exceptions.
In any event, I'm trying to document our decisions here, not produce
documentation for the use or implementation of Boost.Threads ;).
BTW, I'm working on documentation for boost::thread that should
clarify all of this, as well as bring some of the miscellaney that
people don't like about the current design closer to POSIX. I'll
post either later today or tomorrow, hopefully.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk