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?



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.