
Howard Hinnant wrote:
On Oct 28, 2007, at 11:53 AM, Yuval Ronen wrote:
[snip]
* Thread cancellation is new, and disable_cancellation/restore_cancellation are even newer. They are new for C++ programmers, and maybe new for *all* programmers (I never heard of a language with them). I'm not sure if it's a good idea to standardize them before we get some real-life experience with thread cancellation.
Actually thread cancellation is old. Many (not all) thread API's have some form or another of cancellation. That being said, the compromise reached at the Kona meeting 4 weeks ago was to remove cancellation (or interruption) from the proposal. This removal is reflected in N2411.
Oh, no. I think thread cancellation is a must-have in general, and it would be really great to have it within the standard. It's not that it's a big problem to make/use composite cv predicates, where one part holds the "cancel" part and the other the real stuff - but having this in the standard would allow implementations to even cancel e.g. unconditional mutex waits. Sure, C and C++ compatibility would be great - but is this "just" a matter of principle, or is there a large user base which is only waiting for cross-language threading compatibility? I'm certainly not (sorry). / Johan