This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/28145] C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL)
- From: "jason at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Aug 2006 07:10:53 -0000
- Subject: [Bug other/28145] C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL)
- References: <bug-28145-3264@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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