From 156da0805d85409b34cbc728ba57e20e26ce5a12 Mon Sep 17 00:00:00 2001 From: Ask Solem Date: Thu, 27 Oct 2011 21:26:59 +0100 Subject: [PATCH] Fixes bug in producer pool handling --- kombu/pools.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kombu/pools.py b/kombu/pools.py index 1d428b89..20ea9e36 100644 --- a/kombu/pools.py +++ b/kombu/pools.py @@ -35,7 +35,8 @@ class ProducerPool(Resource): return Producer(connection) def create_producer(self): - return self.Producer(self.connections.acquire(block=True)) + connection = self.connections.acquire(block=True) + return self.Producer(connection) def new(self): return lambda: self.create_producer() @@ -48,8 +49,9 @@ class ProducerPool(Resource): def prepare(self, p): if callable(p): p = p() - p.connection = self.connections.acquire(block=True) - p.revive(p.connection.default_channel) + if not p.channel: + p.connection = self.connections.acquire(block=True) + p.revive(p.connection.default_channel) return p def release(self, resource):