Re: [c++-pthreads] What are the real issues?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [c++-pthreads] What are the real issues?
- To: Matt Austern <austern@xxxxxxxxx>
- Subject: Re: [c++-pthreads] What are the real issues?
- From: Alexander Terekhov <boo@xxxxxxxxxxx>
- Date: Wed, 07 Jan 2004 13:16:05 +0100
Matt Austern wrote:
>
> On Jan 6, 2004, at 2:15 PM, Richard Henderson wrote:
>
> > On Tue, Jan 06, 2004 at 11:33:47AM -0800, Matt Austern wrote:
> >> The Itanium C++ ABI, which gcc adopted, made cancellation a special
> >> kind of exception, "forced unwinding", so that a thread can't just
> >> catch the cancellation exception and swallow it.
> >
> > This is not correct. The IA-64 ABI describes "forced unwinding"
> > but does not describe its semantics at all. Which is of course
> > completely unhelpful.
>
> That's interesting. Sorry for the goof!
>
> That sounds like a pretty serious problem that we ought to fix
> no matter what else we do.
Get rid of it entirely. setjmp()/longjmp() can (and shall) be
implemented without "the stop and stop_parameter parameters" which
"control the termination of the unwind process, instead of the
usual personality routine query", I believe. Ignoring the fact that
jumping is severely restricted in C++, compilers are just ought to
sort of "recognize" setjmp() and allow rather simple implementation
of longjmp() -- "throw std::longjmp_request(val);" (or something
like that), oder?
regards,
alexander.