Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [c++-pthreads] Re: Does the cancelation exception have a name?


  • To: "Dave Butenhof" <david.butenhof@xxxxxx>, <terekhov@xxxxxx>
  • Subject: Re: [c++-pthreads] Re: Does the cancelation exception have a name?
  • From: "Peter Dimov" <pdimov@xxxxxxxxx>
  • Date: Mon, 6 Nov 2006 16:16:11 +0200

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.