diff options
Diffstat (limited to 'nova/process.py')
| -rw-r--r-- | nova/process.py | 13 |
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) |
