diff options
author | Angus Salkeld <asalkeld@redhat.com> | 2012-11-13 10:59:27 +1100 |
---|---|---|
committer | Angus Salkeld <asalkeld@redhat.com> | 2012-11-13 10:59:27 +1100 |
commit | 27f4d87e9ca31e0b38d3a38a03c63db685af5085 (patch) | |
tree | 88bc1248e803b685bb95fc57019813b702ed8b38 /openstack/common/service.py | |
parent | 5e3c7b50398bd79cf4103f062584c12efc685451 (diff) | |
download | oslo-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.py | 15 |
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): |