From 4fa2d5db396a0d1427daf30bb596bedab414d891 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Thu, 31 Mar 2016 12:37:46 +0300 Subject: [PATCH] workerpool: bugfix: do not return workerChan to ready pool on panic --- workerpool.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/workerpool.go b/workerpool.go index ffaf59b..42ea62e 100644 --- a/workerpool.go +++ b/workerpool.go @@ -194,12 +194,11 @@ func (wp *workerPool) workerFunc(ch *workerChan) { defer func() { if r := recover(); r != nil { wp.Logger.Printf("panic: %s\nStack trace:\n%s", r, debug.Stack()) + if c != nil { + c.Close() + } } - if c != nil { - c.Close() - wp.release(ch) - } wp.lock.Lock() wp.workersCount-- wp.lock.Unlock()