Skip to content

Commit 125296c

Browse files
committed
Do not release the executor inside _check_child_processes
The method ``ProcessMonitor._check_child_processes`` was releasing the thread executor inside a method that creates a lock for the resource "_check_child_processes". Despite this resource is not used anywhere else (at least for this instance), this could lead to a potential deadlock. The current implementation of ``lockutils.synchronized`` with the default value "external=False" and "fair=False" is a ``threading.Lock()`` instance. The goal of this lock is, precisely, to execute the code inside the locked code without any interruption and then to be able to release the executor. Closes-Bug: #2073743 Change-Id: I44c7a4ce81a67b86054832ac050cf5b465727adf (cherry picked from commit baa57ab)
1 parent 82ece4f commit 125296c

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

neutron/agent/linux/external_process.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,6 @@ def _check_child_processes(self):
272272
'resource_type': self._resource_type,
273273
'uuid': service_id.uuid})
274274
self._execute_action(service_id)
275-
eventlet.sleep(0)
276275

277276
def _periodic_checking_thread(self):
278277
while self._monitor_processes:

0 commit comments

Comments
 (0)