Subject: Re: [Boost-bugs] [Boost C++ Libraries] #9280: handling deferred events
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-11-18 22:14:25
#9280: handling deferred events
---------------------------------------+----------------------
Reporter: Dmitry Banschikov <me@â¦> | Owner: chenry
Type: Bugs | Status: assigned
Milestone: To Be Determined | Component: msm
Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
---------------------------------------+----------------------
Changes (by chenry):
* status: new => assigned
Comment:
Correct, this is a bug, precisely, entering the submachine does not check
for waiting deferred events.
This would be solved by adding inside do_entry inside state_machine.hpp:
handle_defer_helper<library_sm> defer_helper(m_deferred_events_queue);
defer_helper.do_post_handle_deferred(HANDLED_TRUE);
before : process_message_queue(this);
This will have for effect that MSM will process
ev_async_send_cmd_with_reply(1) when entering, and
ev_async_send_cmd_with_reply(2) will be the last displayed text.
But frankly, after seeing this, I'm unsure whether it's a great idea to
keep deferred events while leaving the submachine, I need to think about
it.
To check if it solves your problem, I committed this fix in trunk rev.
86759.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9280#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:14 UTC