Browse Source

fix unsafe acces on arm

Signed-off-by: Victor Vieux <vieux@docker.com>
Victor Vieux 8 years ago
parent
commit
236dc57a9e
1 changed files with 9 additions and 6 deletions
  1. 9 6
      libnetwork/networkdb/networkdb.go

+ 9 - 6
libnetwork/networkdb/networkdb.go

@@ -24,6 +24,15 @@ const (
 // NetworkDB instance drives the networkdb cluster and acts the broker
 // for cluster-scoped and network-scoped gossip and watches.
 type NetworkDB struct {
+	// The clocks MUST be the first things
+	// in this struct due to Golang issue #599.
+
+	// Global lamport clock for node network attach events.
+	networkClock serf.LamportClock
+
+	// Global lamport clock for table events.
+	tableClock serf.LamportClock
+
 	sync.RWMutex
 
 	// NetworkDB configuration.
@@ -59,12 +68,6 @@ type NetworkDB struct {
 	// waiting for an ack.
 	bulkSyncAckTbl map[string]chan struct{}
 
-	// Global lamport clock for node network attach events.
-	networkClock serf.LamportClock
-
-	// Global lamport clock for table events.
-	tableClock serf.LamportClock
-
 	// Broadcast queue for network event gossip.
 	networkBroadcasts *memberlist.TransmitLimitedQueue