@@ -144,24 +144,22 @@ bool StatusManager::updateConnectorStatus(unsigned int conn
144144 Connector* connector = m_connectors.getConnector (connector_id);
145145 if (connector)
146146 {
147+ std::lock_guard<std::mutex> lock (connector->mutex );
148+
147149 // Check if status has changed
148150 if (connector->status != status)
149151 {
150- {
151- std::lock_guard<std::mutex> lock (connector->mutex );
152-
153- // Save new status
154- connector->status = status;
155- connector->status_timestamp = DateTime::now ();
156- connector->error_code = error_code;
157- connector->info = info;
158- connector->vendor_id = vendor_id;
159- connector->vendor_error = vendor_error;
160- m_connectors.saveConnector (connector->id );
161- }
162-
163152 LOG_INFO << " Connector " << connector_id << " : " << ChargePointStatusHelper.toString (status);
164153
154+ // Save new status
155+ connector->status = status;
156+ connector->status_timestamp = DateTime::now ();
157+ connector->error_code = error_code;
158+ connector->info = info;
159+ connector->vendor_id = vendor_id;
160+ connector->vendor_error = vendor_error;
161+ m_connectors.saveConnector (connector->id );
162+
165163 // Check registration status
166164 if (m_registration_status == RegistrationStatus::Accepted)
167165 {
@@ -170,7 +168,7 @@ bool StatusManager::updateConnectorStatus(unsigned int conn
170168 if (duration == std::chrono::seconds (0 ))
171169 {
172170 // Notify now
173- statusNotificationProcess ( connector_id);
171+ m_worker_pool. run < void >( std::bind (&StatusManager::statusNotificationProcess, this , connector_id) );
174172 }
175173 else
176174 {
0 commit comments