From 27f4d87e9ca31e0b38d3a38a03c63db685af5085 Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Tue, 13 Nov 2012 10:59:27 +1100 Subject: Use the ThreadGroup for the Launcher Avoid duplicate code. Change-Id: I06523f846e851b2e5766a7a9b078f728c0755c5f --- openstack/common/service.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'openstack') 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): -- cgit