From 9b4c5deb0b36b9e9212efb9b2591e14d35c7f0a7 Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Tue, 7 May 2019 15:43:46 +0200 Subject: [PATCH] Handle invalid transition to init in the control plugin --- fairmq/plugins/Control.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fairmq/plugins/Control.cxx b/fairmq/plugins/Control.cxx index b0bf9214..29680beb 100644 --- a/fairmq/plugins/Control.cxx +++ b/fairmq/plugins/Control.cxx @@ -203,9 +203,10 @@ try { break; case 'i': cout << "\n --> [i] init device\n\n" << flush; - ChangeDeviceState(DeviceStateTransition::InitDevice); - while (WaitForNextState() != DeviceState::InitializingDevice) {} - ChangeDeviceState(DeviceStateTransition::CompleteInit); + if (ChangeDeviceState(DeviceStateTransition::InitDevice)) { + while (WaitForNextState() != DeviceState::InitializingDevice) {} + ChangeDeviceState(DeviceStateTransition::CompleteInit); + } break; case 'b': cout << "\n --> [b] bind\n\n" << flush;