diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2016-07-18 17:23:38 +0300 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2016-07-18 17:23:38 +0300 |
commit | a2cc660e59b8d3fb8bf479e89b0c4c4a33d6debb (patch) | |
tree | 57a8db0a560ab7ac4640c83d475bbfc18e6a25e7 /workerpool.go | |
parent | Added support for multiple concurrent connections to server in PipelineClient (diff) | |
download | fasthttp-a2cc660e59b8d3fb8bf479e89b0c4c4a33d6debb.tar.gz fasthttp-a2cc660e59b8d3fb8bf479e89b0c4c4a33d6debb.tar.bz2 fasthttp-a2cc660e59b8d3fb8bf479e89b0c4c4a33d6debb.zip |
optimization: removed slow defer from worker pool handler and hijack handler
Diffstat (limited to 'workerpool.go')
-rw-r--r-- | workerpool.go | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/workerpool.go b/workerpool.go index 04245ff..081ac65 100644 --- a/workerpool.go +++ b/workerpool.go @@ -201,12 +201,6 @@ func (wp *workerPool) release(ch *workerChan) bool { func (wp *workerPool) workerFunc(ch *workerChan) { var c net.Conn - defer func() { - wp.lock.Lock() - wp.workersCount-- - wp.lock.Unlock() - }() - var err error for c = range ch.ch { if c == nil { @@ -230,4 +224,8 @@ func (wp *workerPool) workerFunc(ch *workerChan) { break } } + + wp.lock.Lock() + wp.workersCount-- + wp.lock.Unlock() } |