I guessed that was the problem indeed I followed the event go pushed into the event queue but it miraculously disappears somewhere very strange.
If I would make an event which encapsulates the message I would still need to send it from another thread and then I could only use the statemachine.process_event( EvEvent() ) mechanism. I tried that and the behavior was not exactly what I needed. The calling function would not leave the process_event method and hold op the system.
Maybe I should start thinking about rewriting the code to use the asynchronous_state_machine.
Hi Iwan
[snip]
I tried this->post_event( EvNewFrame() ); // no effect
and this->post_event( boost::intrusive_ptr<EvNewFrame>( new EvNewFrame( ) ) ); // no effect
post_event is intended to be called only from within a react member function or an entry-, exit- or transition action. The documentation isn't terribly clear on this but it does say that calling post_event only pushes the event into the queue. That is, post_event does *not* process the event, which is why you don't see the expected transition.
I'm wondering whether it wouldn't be *much* easier to simply pack the TT_CANMsg into an event and then let the state_machine process that event?
Regards,
--
Andreas Huber
When replying by private email, please remove the words spam and trap
from the address shown in the header.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users