Commit d8a9b3c1 authored by Denis Bilenko's avatar Denis Bilenko

pool: add spawn_[link/link_value/link_exception] methods to Pool

parent 831f5f17
......@@ -218,6 +218,30 @@ class Pool(GreenletSet):
self._available_event.clear()
return greenlet
def spawn_link(self, *args, **kwargs):
self._available_event.wait()
greenlet = self.greenlet_class.spawn_link(*args, **kwargs)
self.add(greenlet)
if self.full():
self._available_event.clear()
return greenlet
def spawn_link_value(self, *args, **kwargs):
self._available_event.wait()
greenlet = self.greenlet_class.spawn_link_value(*args, **kwargs)
self.add(greenlet)
if self.full():
self._available_event.clear()
return greenlet
def spawn_link_exception(self, *args, **kwargs):
self._available_event.wait()
greenlet = self.greenlet_class.spawn_link_exception(*args, **kwargs)
self.add(greenlet)
if self.full():
self._available_event.clear()
return greenlet
def discard(self, greenlet):
GreenletSet.discard(self, greenlet)
if not self.full():
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment