Jelajahi Sumber

Merge pull request #1713 from aboch/nse

On clusterLeave, notify only if there are peers
Santhosh Manohar 8 tahun lalu
induk
melakukan
1693144ae2
1 mengubah file dengan 9 tambahan dan 0 penghapusan
  1. 9 0
      libnetwork/networkdb/broadcast.go

+ 9 - 0
libnetwork/networkdb/broadcast.go

@@ -86,6 +86,15 @@ func (nDB *NetworkDB) sendNodeEvent(event NodeEvent_Type) error {
 		notify: notifyCh,
 		notify: notifyCh,
 	})
 	})
 
 
+	nDB.RLock()
+	noPeers := len(nDB.nodes) <= 1
+	nDB.RUnlock()
+
+	// Message enqueued, do not wait for a send if no peer is present
+	if noPeers {
+		return nil
+	}
+
 	// Wait for the broadcast
 	// Wait for the broadcast
 	select {
 	select {
 	case <-notifyCh:
 	case <-notifyCh: