Browse Source

Merge pull request #41584 from fanjiyun/fix-docker-stats-panic

docker stats: fix 'panic: close of closed channel'
Akihiro Suda 4 years ago
parent
commit
837ee91cb9
1 changed files with 5 additions and 2 deletions
  1. 5 2
      pkg/pubsub/publisher.go

+ 5 - 2
pkg/pubsub/publisher.go

@@ -66,8 +66,11 @@ func (p *Publisher) SubscribeTopicWithBuffer(topic topicFunc, buffer int) chan i
 // Evict removes the specified subscriber from receiving any more messages.
 func (p *Publisher) Evict(sub chan interface{}) {
 	p.m.Lock()
-	delete(p.subscribers, sub)
-	close(sub)
+	_, exists := p.subscribers[sub]
+	if exists {
+		delete(p.subscribers, sub)
+		close(sub)
+	}
 	p.m.Unlock()
 }