summaryrefslogtreecommitdiffstats
path: root/nova/process.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/process.py')
-rw-r--r--nova/process.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/nova/process.py b/nova/process.py
index 8ecef1584..d3558ed2e 100644
--- a/nova/process.py
+++ b/nova/process.py
@@ -205,12 +205,13 @@ class ProcessPool(object):
self._pool.release()
return rv
-_instance = None
-def SharedPool():
- global _instance
- if _instance is None:
- _instance = ProcessPool()
- return _instance
+class SharedPool(ProcessPool):
+ _instance = None
+ def __new__(cls, *args, **kwargs):
+ if not cls._instance:
+ cls._instance = super(SharedPool, cls).__new__(
+ cls, *args, **kwargs)
+ return cls._instance
def simple_execute(cmd, **kwargs):
return SharedPool().simple_execute(cmd, **kwargs)