I work with a state machine based on QScxmlStateMachine
. Some transitions are automatically triggered by code in the onEntry handlers, some others are triggered by external events (such as user click).
The execution of the state machine is asynchronous. This code is not blocking :
m_statemachine->submitEvent("user_initialize", settings);
Fine. What I want to know is how the processing inside the state machine is done then.
This first event is queued and will asynchronously enter in a state initializing, what about the events that could be triggered in this state onEntry code, are they queued too ?
Does the internal event-loop could process some other GUI events before processing the next transition ?
And, I assume not, is the state-machine event-loop in a separate thread ?