diff --git a/fairmq/FairMQDevice.cxx b/fairmq/FairMQDevice.cxx index e8e9074a..08f61ade 100644 --- a/fairmq/FairMQDevice.cxx +++ b/fairmq/FairMQDevice.cxx @@ -559,8 +559,6 @@ void FairMQDevice::RunWrapper() Run(); } - - PostRun(); } catch (const out_of_range& oor) { @@ -574,6 +572,8 @@ void FairMQDevice::RunWrapper() ChangeState(internal_READY); } + PostRun(); + rateLogger.join(); } diff --git a/fairmq/FairMQStateMachine.h b/fairmq/FairMQStateMachine.h index 2d5e07ca..22f5eb31 100644 --- a/fairmq/FairMQStateMachine.h +++ b/fairmq/FairMQStateMachine.h @@ -291,6 +291,8 @@ struct FairMQFSM_ : public msmf::state_machine_def { fsm.fStateChangeCallback(READY); } + + fsm.Unblock(); } };