From 71747b90b69b65fb3909329288d1a17c34590d17 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 --- networkdb/networkdb.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/networkdb/networkdb.go b/networkdb/networkdb.go index afdf32e2c2..0a80d8c825 100644 --- a/networkdb/networkdb.go +++ b/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.