Add greenthread.sleep() to parent wait()

Add an eventlet.greenthread.sleep() to wait() to keep
cinder-volume parent from looping after catching SIGTERM
and hogging the CPU. This was already added to the running
state but is missing from the SIGTERM caught state when
the parent waits to reap the child.

Change-Id: Ia871e31db5bf9ec4e86f926f8f6c4f0f4ecb7925
Closes-Bug: #1254089
This commit is contained in:
scott-dangelo 2013-11-22 16:28:07 +00:00
parent 653c403b04
commit 273d876511
1 changed files with 4 additions and 1 deletions

View File

@ -323,7 +323,10 @@ class ProcessLauncher(object):
if self.children:
LOG.info(_('Waiting on %d children to exit'), len(self.children))
while self.children:
self._wait_child()
wrap = self._wait_child()
if not wrap:
eventlet.greenthread.sleep(.01)
continue
class Service(object):