This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug other/28145] C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL)



------- Comment #11 from jason at redhat dot com  2006-08-01 07:10 -------
Subject: Re:  C++ (throw() and catch(...) {/*  fall through
 */ } ) and pthread cancellation are incompatible (at least with NPTL)

drow at gcc dot gnu dot org wrote:
> Just making sure I understand - catch (...) { foo(); throw; } will no
> longer call foo during forced unwinding, only destructors and explicit
> forced unwinding catches will be called?

Yes.  I should clarify that I'm just implementing all the different 
options, in hopes that helps to move the discussion along.

> [What does this imply for throw()?]

throw() will always block unwinding.  For that case "sticky" 
cancellation works better.  But I don't think that's actually an issue 
for iostreams, is it?

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28145


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]