issue #360: ansible: missing lock around ContextService.put().
This commit is contained in:
parent
f8bf780e21
commit
498db57ec8
|
@ -139,11 +139,15 @@ class ContextService(mitogen.service.Service):
|
||||||
count reaches zero.
|
count reaches zero.
|
||||||
"""
|
"""
|
||||||
LOG.debug('%r.put(%r)', self, context)
|
LOG.debug('%r.put(%r)', self, context)
|
||||||
if self._refs_by_context.get(context, 0) == 0:
|
self._lock.acquire()
|
||||||
LOG.warning('%r.put(%r): refcount was 0. shutdown_all called?',
|
try:
|
||||||
self, context)
|
if self._refs_by_context.get(context, 0) == 0:
|
||||||
return
|
LOG.warning('%r.put(%r): refcount was 0. shutdown_all called?',
|
||||||
self._refs_by_context[context] -= 1
|
self, context)
|
||||||
|
return
|
||||||
|
self._refs_by_context[context] -= 1
|
||||||
|
finally:
|
||||||
|
self._lock.release()
|
||||||
|
|
||||||
def key_from_kwargs(self, **kwargs):
|
def key_from_kwargs(self, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue