This is the mail archive of the
mailing list for the GCC project.
Re: [3.3] Followup to C++ forced unwinding
Fergus Henderson <email@example.com.OZ.AU> writes:
> On 01-May-2003, David Abrahams <firstname.lastname@example.org> wrote:
>> There are very few correct programs which can "eat all exceptions and
>> plow ahead anyway". Is it really a design requirement that these
>> programs be transplantable *without modification* into an environment
>> where they run on a thread *and* where a thread cancellation _request_
>> can be assured of terminating them?
> So, although I agree that there are currently very few _correct_ programs
> which contain routines that catch all exceptions, I think that it is
> also true to say that there very few _robust_ programs which do NOT contain
> such routines.
> In short, the idiom which you are trying to deprecate is crucial for
> robustness, so it should not be so lightly abandoned!
I'm hardly trying to deprecate it. I'm trying to suggest that the
places where eating everything and ploughing ahead is the right thing
to do are sufficiently rare that it might be unreasonable to expect
that these programs can suddenly become multithreaded without
modification, and that even if it weren't unreasonable, the
requirement that they be assuredly-cancellable might be unreasonable
(not to mention, of course, that it's in fact impossible to ensure any
particular response to a cancellation request).