Boost logo

Boost :

Subject: [boost] [msm] nested pseudo exits with same event ending up in no trans in the most outer state machine.
From: Richard Szabo (sz.richard_at_[hidden])
Date: 2010-07-17 18:32:45


Hi All

I have run in to the following problem :
if I have 3 state machines where 1st has a composite state which has
one more composite state than the most inner one enters to a pseudo
exit state which sends finish event.
The middle one has a transaction from the most inner pseudo exit with
even finish to a pseudo exit middle state which sends finish again.
The most outer state machine has a transition from the middle pseudo
exit with event finish to a internal state.
when the most inner pseudo state sends event finish it ends in a NO
transition on the most outer state machine instead of triggering the
transition in the middle state machine.

please find the sample code to reproduces the problem and execution
output in attachment to .

a part of the execution output :
leaving: Stopped
entering: Playing
entering: Playing::PseudoEntry1
leaving: Playing::PseudoEntry1
entering: test1Sm::initial
leaving: test1Sm::initial
entering: test1Sm::TestPseudoExit1
no transition from state 1 on event struct `anonymous namespace'::finish

Is it a bug or I'm doing something wrong ?.

Br.
Richie





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