This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: catch(...) and forced unwind
- From: Mark Mitchell <mark at codesourcery dot com>
- To: David Abrahams <dave at boost-consulting dot com>
- Cc: Jason Merrill <jason at redhat dot com>, Matt Austern <austern at apple dot com>, Ulrich Drepper <drepper at redhat dot com>, gcc at gcc dot gnu dot org, Richard Henderson <rth at redhat dot com>, Nathan Myers <ncm at cantrip dot org>, Jakub Jelinek <jakub at redhat dot com>, wekempf at cox dot net, fjh at cs dot mu dot oz dot au, Benjamin Kosnik <bkoz at redhat dot com>
- Date: Wed, 17 Dec 2003 10:36:15 -0800
- Subject: Re: catch(...) and forced unwind
- Organization: CodeSourcery, LLC
- References: <xypwu91ofvf.fsf@miranda.boston.redhat.com> <ud6at1wvg.fsf@boost-consulting.com> <xypekv9nr9u.fsf@miranda.boston.redhat.com> <u65gkyhv4.fsf@boost-consulting.com> <20031214035909.GE2416@tofu.dreamhost.com> <xypk74xltaa.fsf@miranda.boston.redhat.com> <ullpdlksl.fsf@boost-consulting.com> <xyp1xr5lh5q.fsf@miranda.boston.redhat.com> <usmjlhryu.fsf@boost-consulting.com> <278A5A0A-3001-11D8-8564-00039390D9E0@apple.com> <usmjkbkb5.fsf@boost-consulting.com> <0BB52C3C-3009-11D8-8564-00039390D9E0@apple.com> <ud6aobfgy.fsf@boost-consulting.com> <A156A7B0-3012-11D8-8564-00039390D9E0@apple.com> <uu1409v32.fsf@boost-consulting.com> <xypd6aoi0zz.fsf@miranda.boston.redhat.com> <1071632782.3793.114.camel@minax.codesourcery.com> <u4qvz8zae.fsf@boost-consulting.com> <1071678864.4082.22.camel@minax.codesourcery.com> <u3cbjmlgc.fsf@boost-consulting.com> <1071681263.4082.30.camel@minax.codesourcery.com> <uk74vjo92.fsf@boost-consulting.com>
- Reply-to: mark at codesourcery dot com
> I want to be *able* to say, "don't throw any cancellation exceptions
> at me except where I explicitly call pthread_whatever_its_called (the
> one which just throws if there's a cancellation pending and does
> nothing otherwise)". There's nothing wrong with your other modes,
> but IMO the mode I'm describing would provide the safest route to
> integrate library source code into a threaded app.
Yes, that is a 3rd mode: a fully synchronous model.
That would also be a POSIX threads extension; essentially, this would be
the deferred cancellation model, except that pthread_testcancel would be
the only cancellation point.
I think that, too, is a reasonable mode.
--
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC