aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--workerpool.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/workerpool.go b/workerpool.go
index 143af29..7cdecb3 100644
--- a/workerpool.go
+++ b/workerpool.go
@@ -95,7 +95,6 @@ func (wp *workerPool) clean(scratch *[]*workerChan) {
i++
}
if i > 0 {
- wp.workersCount -= i
*scratch = append((*scratch)[:0], ready[:i]...)
m := copy(ready, ready[i:])
for i = m; i < n; i++ {
@@ -202,6 +201,9 @@ func (wp *workerPool) workerFunc(ch *workerChan) {
c.Close()
wp.release(ch)
}
+ wp.lock.Lock()
+ wp.workersCount--
+ wp.lock.Unlock()
}()
for c = range ch.ch {