From 9d17eba121dab054c21307b9696ba7471dff4a74 Mon Sep 17 00:00:00 2001 From: Zhaozhong Ni Date: Wed, 17 Oct 2018 09:57:02 -0700 Subject: [PATCH] compressio: do not schedule new I/Os when there is no worker (stream closed). PiperOrigin-RevId: 217536677 Change-Id: Ib9a5a2542df12d0bc5592b91463ffd646e2ec295 --- pkg/compressio/compressio.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/compressio/compressio.go b/pkg/compressio/compressio.go index b4c1c70d9..667f17c5c 100644 --- a/pkg/compressio/compressio.go +++ b/pkg/compressio/compressio.go @@ -323,10 +323,10 @@ func (p *pool) schedule(c *chunk, callback func(*chunk) error) error { inputChan chan *chunk outputChan chan result ) - if c != nil { + if c != nil && len(p.workers) != 0 { inputChan = p.workers[(p.nextInput+1)%len(p.workers)].input } - if callback != nil && p.nextOutput != p.nextInput { + if callback != nil && p.nextOutput != p.nextInput && len(p.workers) != 0 { outputChan = p.workers[(p.nextOutput+1)%len(p.workers)].output } if inputChan == nil && outputChan == nil {