Re: [boost] Re: [prereview request][fsm]
by E. Gladyshev other posts by this author
May 28 2004 6:31PM messages near this date
[boost] Re: [prereview request][fsm]
|
Re: [boost] Re: [prereview request][fsm]
From: "Rob Stewart" <stewart@[...].com>
> From: "E. Gladyshev" <eegg@[...].net>
> > From: "Rob Stewart" <stewart@[...].com>
[...]
> > > So, OK, there is that slight difference, but why would you care?
> >
> > I don't think that it is a slight difference. If you make an assumption
> > that all unhandled exceptions will eventually trigger
> > stack unwinding, but a specific implementation doesn't do that,
> > it is huge difference.
>
> Why would you want the non-deterministic behavior?
Whether I want it or not doesn't change anything.
All I am saying that it is implementation dependent and it is a big
difference.
[...]
>
> Why would you want terminate() to be called without stack
> unwinding on those platforms that do it? What does that get you?
> I would think that boost::fsm's behavior, being more
> deterministic, would be preferable.
There could be many reasons, just to list few of them.
1. Some platforms pose non-C++ exceptions as normal C++ exception.
You don't always want those platfrom specific exceptions trigger
a whole bunch of stuff in your program.
2. Your design assumes that all possible exceptions are known
and you handle them. So any unhandled exception is a bug.
It is not safe to trigger stack unwinding in a buggy environment.
These reasons could be of a particular importance in
control applications where state machines are a must.
But again whether I want it or not, the Standard allows
implementation where the stack unwinding
(for unhandled exceptions) never happens.
[...]
> Does not unwinding the stack when terminate() is called, on
> whatever platforms do that, gain you something that outweighs the
> determinism and reuse of the boost::fsm approach?
Please see above.
Eugene
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Thread:
Andreas Huber
Andreas Huber
Andreas Huber
Darryl Green
Darryl Green
Darryl Green
Darryl Green
Andreas Huber
E. Gladyshev
Andreas Huber
Andreas Huber
E. Gladyshev
E. Gladyshev
Darryl Green
Andreas Huber
Johan Nilsson
Darryl Green
Andreas Huber
Andreas Huber
Rob Stewart
Andreas Huber
Rob Stewart
Johan Nilsson
Andreas Huber
Andreas Huber
Johan Nilsson
Johan Nilsson
Andreas Huber
Andreas Huber
Andreas Huber
Darryl Green
David Abrahams
Andreas Huber
Andreas Huber
Rob Stewart
Andreas Huber
Andreas Huber
Andreas Huber
Andreas Huber
David Abrahams
David Abrahams
David Abrahams
Andreas Huber
Andreas Huber
Darryl Green
David Bergman
David Abrahams
David Abrahams
David Abrahams
Andreas Huber
Andreas Huber
David Abrahams
Andreas Huber
Andreas Huber
Andreas Huber
Andreas Huber
Darryl Green
Andreas Huber
Robert Bell
David Abrahams
E. Gladyshev
Johan Nilsson
Jeff Flinn
Johan Nilsson
Andreas Huber
Jeff Flinn
E. Gladyshev
Andreas Huber
Andreas Huber
Iain K. Hanson
Robert Bell
David Abrahams
E. Gladyshev
Andreas Huber
Andreas Huber
David B. Held
Andreas Huber
Johan Nilsson
Johan Nilsson
Peter Dimov
Johan Nilsson
Topher Cooper
Johan Nilsson
Johan Nilsson
Andreas Huber
Robert Bell
Andreas Huber
Andreas Huber
Andreas Huber
E. Gladyshev
Andreas Huber
Andreas Huber
E. Gladyshev
E. Gladyshev
Andreas Huber
Andreas Huber
E. Gladyshev
David Abrahams
Andreas Huber
E. Gladyshev
E. Gladyshev
Rob Stewart
E. Gladyshev
E. Gladyshev
Rob Stewart
E. Gladyshev
Rob Stewart
E. Gladyshev
Andreas Huber
Andreas Huber
E. Gladyshev
Marshall Clow
Marshall Clow
E. Gladyshev
David Abrahams
Darryl Green
E. Gladyshev
Andreas Huber
Andreas Huber
Robert Bell
Darryl Green
Pavel Vozenilek
David Abrahams
Andreas Huber
David Abrahams
Gregory Colvin
Pavel Vozenilek
Andreas Huber
Robert Bell
Andreas Huber
Johan Nilsson
Andreas Huber
Andreas Huber
Johan Nilsson
Johan Nilsson
Rob Stewart
Johan Nilsson
Andreas Huber
Andreas Huber
David Abrahams
Andreas Huber
Andreas Huber
David Abrahams
Andreas Huber
Andreas Huber
Johan Nilsson
Rob Stewart
Kwee Heong Tan
David Abrahams
Andreas Huber
David Abrahams
David Abrahams
Andreas Huber
Andreas Huber
Andreas Huber
David Abrahams
Andreas Huber
John Fuller
David Abrahams
David Abrahams
Andreas Huber
Andreas Huber
Aleksey Gurtovoy
David Abrahams
David Abrahams
David Abrahams
Andreas Huber
David Abrahams
David Abrahams
|