[c++-pthreads] Re: Does the cancelation exception have a name?
Peter Dimov
pdimov at mmltd.net
Mon Nov 6 14:16:11 UTC 2006
Dave Butenhof wrote:
> Alexander Terekhov wrote:
>> Peter Dimov wrote:
>>
>>> Alexander Terekhov wrote:
>>>
>>>> Google pthread_exit_e.
>>>>
>>> I know about DEC pthread_exit_e, my question was more about
>>> g++/glibc/NPTL's implementation and how the people involved feel.
>>> DEC's exception doesn't have a C++ name, by the way,
>>>
>> http://groups.google.com/group/comp.programming.threads/msg/271124f3a0517204
>>
>> "C++ doesn't have a name for those "foreign" exceptions. (Of course
>> destructors work fine.) We've worked with the compiler group to add
>> some builtin exception subclasses to deal with that, but we never
>> found the time to finish hooking up all the bits."
>>
> Alexander; perhaps the most telling part of the article you quote here
> is that I wrote it 6 years ago tomorrow; and we still don't have a
> standard for integration of threads and C++, and with Tru64 UNIX
> reduced to irrelevance I don't think there's any current commercial
> UNIX that's even tried to do it right. I feel like everything that
> can be said has circulated more than just a few times before, with
> little effect. Kinda frustrating, really.
The difference this time around is that some of us are trying to write a
formal proposal for the planned
"30 - Threading API
This section is a placeholder. The next C++ standard is intended to include
support for a threading API. This feature is intended to provide support for
synchronization facilities and thread launching and joining. For more
information and snapshots of current draft proposals still under discussion
and development, see: N1907, N2090."
section of the next C++ standard.
The frustrating part is that C++ folks say "we need buy-in from vendors" and
vendors say nothing, apparently just waiting to see what the C++ standard
will say. :-)
>> std::thread_termination_request (base for cancel and exit)
>> std::thread_cancel_exception
>> std::thread_exit_exception<T>
>> std::thread_longjmp_exception
>
> Yes, absolutely; the parenthesized bit being the most important
> part... a common base class for cancel and exit.
I've absolutely no problem with that (from a C++ perspective), as long as
it's implementable. There isn't much point in demanding something in the C++
standard that will be universally ignored.
More information about the c++-pthreads
mailing list