This is the mail archive of the gcc-patches@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]

Re: [3.3] Followup to C++ forced unwinding


On Wed, Apr 30, 2003 at 05:39:02PM -0700, Mark Mitchell wrote:
> But we shouldn't go silently breaking millions of lines of until-now
> exception-safe ISO-conformant code that happens to use "catch(...)"
> rather than destructors.  I'd ever so much rather debug a
> why-didn't-my-thread-go-away bug than a
> why-is-my-data-in-an-inconsistent-state bug.

At this rate we will simply never come to agreement.

 (1) I say we cannot enter catch(...) without adding code to do
     implicit rethrow because it's *very* likely that your
     "exception-safe ISO-conformant code" does not include a
     rethrow and is completely unsafe for thread cancellation.

 (2) You say we must enter catch(...) because the idiom is so
     common that millions of lines will break.  Further, you
     don't like implicit rethrow.

 (3) If we simply abort when crossing catch(...) we will most
     definitely cause thread cancellation to be completely 
     worthless to everyone.

So what are we to do?  The best I can offer in good conscience
is adding the implicit rethrow.


r~


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