From 955c532735acdaf878c58234cb5056a578da7342 Mon Sep 17 00:00:00 2001 From: yangchenliang Date: Tue, 26 Sep 2017 10:05:18 +0800 Subject: [PATCH] Repair (*Broadcaster).run goroutine leak When execute 'docker swarm init' and 'docker swarm leave -f' on a node repeatedly, the (*Broadcaster).run goroutine leak. Signed-off-by: yangchenliang --- libnetwork/networkdb/networkdb.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libnetwork/networkdb/networkdb.go b/libnetwork/networkdb/networkdb.go index afdf32e2c2..0a80d8c825 100644 --- a/libnetwork/networkdb/networkdb.go +++ b/libnetwork/networkdb/networkdb.go @@ -261,6 +261,9 @@ func (nDB *NetworkDB) Close() { if err := nDB.clusterLeave(); err != nil { logrus.Errorf("Could not close DB %s: %v", nDB.config.NodeName, err) } + + //Avoid (*Broadcaster).run goroutine leak + nDB.broadcaster.Close() } // ClusterPeers returns all the gossip cluster peers.