summaryrefslogtreecommitdiffstats
path: root/openstack/common/service.py
diff options
context:
space:
mode:
authorAngus Salkeld <asalkeld@redhat.com>2012-11-13 10:59:27 +1100
committerAngus Salkeld <asalkeld@redhat.com>2012-11-13 10:59:27 +1100
commit27f4d87e9ca31e0b38d3a38a03c63db685af5085 (patch)
tree88bc1248e803b685bb95fc57019813b702ed8b38 /openstack/common/service.py
parent5e3c7b50398bd79cf4103f062584c12efc685451 (diff)
downloadoslo-27f4d87e9ca31e0b38d3a38a03c63db685af5085.tar.gz
oslo-27f4d87e9ca31e0b38d3a38a03c63db685af5085.tar.xz
oslo-27f4d87e9ca31e0b38d3a38a03c63db685af5085.zip
Use the ThreadGroup for the Launcher
Avoid duplicate code. Change-Id: I06523f846e851b2e5766a7a9b078f728c0755c5f
Diffstat (limited to 'openstack/common/service.py')
-rw-r--r--openstack/common/service.py15
1 files changed, 4 insertions, 11 deletions
diff --git a/openstack/common/service.py b/openstack/common/service.py
index dc2d374..94ed918 100644
--- a/openstack/common/service.py
+++ b/openstack/common/service.py
@@ -27,7 +27,6 @@ import sys
import time
import eventlet
-import greenlet
import logging as std_logging
from openstack.common import cfg
@@ -54,7 +53,7 @@ class Launcher(object):
:returns: None
"""
- self._services = []
+ self._services = threadgroup.ThreadGroup('launcher')
eventlet_backdoor.initialize_if_enabled()
@staticmethod
@@ -75,8 +74,7 @@ class Launcher(object):
:returns: None
"""
- gt = eventlet.spawn(self.run_service, service)
- self._services.append(gt)
+ self._services.add_thread(self.run_service, service)
def stop(self):
"""Stop all services which are currently running.
@@ -84,8 +82,7 @@ class Launcher(object):
:returns: None
"""
- for service in self._services:
- service.kill()
+ self._services.stop()
def wait(self):
"""Waits until all services have been stopped, and then returns.
@@ -93,11 +90,7 @@ class Launcher(object):
:returns: None
"""
- for service in self._services:
- try:
- service.wait()
- except greenlet.GreenletExit:
- pass
+ self._services.wait()
class SignalExit(SystemExit):