
on Tue Mar 27 2007, Alexander Terekhov <terekhov-AT-web.de> wrote:
David Abrahams wrote: [...]
"Everybody" in the C++ community wants cancellation to be an ordinary, stoppable, C++ exception, thrown only synchronously, at well-defined cancellation points.
Or asynchronously from well-defined async-cancel-safe regions (ideally with async-cancel-safety of code inside async_cancel {} regions statically checked by compiler).
Yes, given more C++ core language changes, async cancel safety could be seen as viable under carefully controlled circumstances.
Anything else makes writing cancellation-safe code basically untenable. In fact, the only person I know of in *any* community who insists that cancellation must be unstoppable is Ullrich Drepper.
Perhaps someone should try to explain to him that nobody really wants to allow longjmp() from pthread_cleanup_push()'s handlers.
Be my guest Alexander; you're just the man for the job! -- Dave Abrahams Boost Consulting www.boost-consulting.com