Parcourir la source

strange 64bit alignment

ffdfgdfg il y a 5 ans
Parent
commit
e429b17e63
1 fichiers modifiés avec 6 ajouts et 1 suppressions
  1. 6 1
      lib/mux/queue.go

+ 6 - 1
lib/mux/queue.go

@@ -209,10 +209,15 @@ func NewListElement(buf []byte, l uint16, part bool) (element *common.ListElemen
 }
 
 type ReceiveWindowQueue struct {
-	lengthWait uint64
 	chain      *bufChain
 	stopOp     chan struct{}
 	readOp     chan struct{}
+	lengthWait uint64 // really strange ???? need put here
+	// https://golang.org/pkg/sync/atomic/#pkg-note-BUG
+	// On non-Linux ARM, the 64-bit functions use instructions unavailable before the ARMv6k core.
+	// On ARM, x86-32, and 32-bit MIPS, it is the caller's responsibility
+	// to arrange for 64-bit alignment of 64-bit words accessed atomically.
+	// The first word in a variable or in an allocated struct, array, or slice can be relied upon to be 64-bit aligned.
 	timeout    time.Time
 }