Explorar el Código

storage/backend: align fields used for atomic ops

Fixes crashes on 32-bit tests.
Anthony Romano hace 9 años
padre
commit
dd01ab6dc0
Se han modificado 1 ficheros con 8 adiciones y 4 borrados
  1. 8 4
      storage/backend/backend.go

+ 8 - 4
storage/backend/backend.go

@@ -62,16 +62,20 @@ type Snapshot interface {
 }
 
 type backend struct {
+	// size and commits are used with atomic operations so they must be
+	// 64-bit aligned, otherwise 32-bit tests will crash
+
+	// size is the number of bytes in the backend
+	size int64
+	// commits counts number of commits since start
+	commits int64
+
 	mu sync.RWMutex
 	db *bolt.DB
 
 	batchInterval time.Duration
 	batchLimit    int
 	batchTx       *batchTx
-	size          int64
-
-	// number of commits since start
-	commits int64
 
 	stopc chan struct{}
 	donec chan struct{}