diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2016-03-31 12:37:46 +0300 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2016-03-31 12:37:46 +0300 |
commit | 4fa2d5db396a0d1427daf30bb596bedab414d891 (patch) | |
tree | ba5d05b3eadd658a9ebed455bc46c9e791240956 /workerpool.go | |
parent | workerpool: removed a hack for recycling worker stacks, since Go runtime must... (diff) | |
download | fasthttp-4fa2d5db396a0d1427daf30bb596bedab414d891.tar.gz fasthttp-4fa2d5db396a0d1427daf30bb596bedab414d891.tar.bz2 fasthttp-4fa2d5db396a0d1427daf30bb596bedab414d891.zip |
workerpool: bugfix: do not return workerChan to ready pool on panic
Diffstat (limited to 'workerpool.go')
-rw-r--r-- | workerpool.go | 7 |
1 files 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() |