Subject: [boost] [MSM] exit_ps stuks in case of outer state machine uses Row with event to event base class
From: Richard Szabo (sz.richard_at_[hidden])
Date: 2011-06-14 06:44:12


Hi Christophe and All

after splitting our complicated several level deep contained state
machines to small run-time instances.
I have to use feature Event Hierarchy
(http://svn.boost.org/svn/boost/trunk/libs/msm/doc/HTML/ch03s02.html#d0e1176)
which is really cool.
But this feature in combination with pseudo exits state, breaks the
pseudo exit state functionality and the
pseudo exit state is entered but never left.

I have made a small example where the problem is reproduced see
attachment. (the file name is misleading was just lazy to rename it
something more appropriate)

Here is the output of the execution :

entering: Idle MS1_
leaving: Idle
Action: MS1::onEvent1
entering: RunningStateMachine MS1_
entering: RunningStateMachine::PseudoEntry1
leaving: RunningStateMachine::PseudoEntry1
entering: Inner1 RunningStateMachine_
entering: InnerState11
leaving: InnerState11
leaving: Inner1
entering: RunningStateMachine::PseudoEntry1

I have tried it in our host test environment only so VC9 compiler and
with boost trunk from Friday last week.

Cheers
Richard.