Boost logo

Boost Users :

From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2006-08-25 04:35:52


Hi,

I'm implementing an asynchronous state machine and have problems with events
not being dispatched. All event thrown at the fsm are dispatched to the
unhandled_event method.

When debugging the problem, I used typeid on the event to see that the
expected events were generated (they were) from the event dispatch threads.
After this, I tried to get the current state from within the
unhandled_event() method - but to my surprise the statement
"this->state_begin() != this->state_end()" is never satisfied. Looks like
there's no current state.

What's even more confusing is that this behaviour is only exposed in the
application itself. This part of the project is divided into three modules;
the application, a static library containing most of the code, and a unit
test driver. The test driver and the application links to the library. When
running the unit tests, the dispatching works and it is possible to see the
current state using the above method. Release or debug mode doesn't matter.
RTTI is enabled.

Using RC_1_34_0 and VC8. What could possibly expose this behaviour?

// Johan


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net