Skip to content

Commit 4ca43ad

Browse files
authored
Mitigate connector sometimes not transitioning to available in Auth (#176)
When using libfsm in async mode events coming in quick succession can sometimes be lost. By using blocking mode in submit_event this can be mitigated (at least most of the time) until a proper fix is implemented. Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
1 parent 93d452b commit 4ca43ad

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

modules/Auth/lib/AuthHandler.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -413,8 +413,8 @@ void AuthHandler::handle_session_event(const int connector_id, const SessionEven
413413
case SessionEventEnum::SessionFinished:
414414
this->connectors.at(connector_id)->connector.is_reservable = true;
415415
this->connectors.at(connector_id)->connector.identifier = boost::none;
416-
this->connectors.at(connector_id)->connector.submit_event(Event_Session_Finished());
417-
this->connectors.at(connector_id)->connector.submit_event(Event_Error_Cleared());
416+
this->connectors.at(connector_id)->connector.state_machine.controller->submit_event(Event_Session_Finished(), true);
417+
this->connectors.at(connector_id)->connector.state_machine.controller->submit_event(Event_Error_Cleared(), true);
418418
this->connectors.at(connector_id)->timeout_timer.stop();
419419
break;
420420
case SessionEventEnum::PermanentFault:

0 commit comments

Comments
 (0)