Yes you are right. The finalStateMachine() runs in a separate thread and not in the scheduler context. See Callable.cpp line 28-35:
//! Starts the final state machine in a separate thread.
void Callable::finalStateMachineStart()
{
TRACE_INFO("#%d", m_instanceID);
m_finalStateMachineState = FinalStateMachineState::IDLE;
m_thread = std::thread(&Callable::finalStateMachine, this);
}
Thats why we can do a std::this_thread::sleep_for(std::chrono::seconds(1)) in line 196. And the watchdog ist not called.
... View more