|
Boost Users : |
Subject: Re: [Boost-users] Statechart problem
From: Iwan Sanders (iwan.sanders_at_[hidden])
Date: 2009-03-25 12:01:51
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.
On Wed, Mar 25, 2009 at 16:13, Andreas Huber <
ahd6974-spamboostorgtrap_at_[hidden]> wrote:
> 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_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
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