Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-05-27 17:35:52


Andreas Huber <ah2003_at_[hidden]> writes:

>> Exits happen before entries, and you can't undo an exit; that's
>> status quo. If you get arrive at the point where an entry is about
>> to fail, then the preceding exit didn't fail, so the possibility of
>> a failing exit has no impact.
>
> As I have tried to explain before: The problem lies in the fact that
> you can have multiple exit actions called in a row before entry
> actions are called. If e.g. the second of those exit actions fails
> (the first one succeeded) then your state machine is in an invalid
> state from where it is impossible to recover. What exactly is the
> loophole/problem/circularity in this reasoning?

It seems to me that part of the problem lies in how you define
"recover". You seem to think that if an *entry* action fails after
exiting a state there is a sensible meaning of "recover" that can
always be achieved, while if a (2nd) exit action fails in the same
circumstances no sensible recovery is possible. I don't understand
how that can be, but as I've said many times, I'm probably missing
something.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk