From 099219be2a1e58b1b34b0202e1466480a4fa0cbc Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 18 Apr 2018 06:54:21 +0200 Subject: [PATCH] Align 64-bit atomics 64-bit varibles that are accessed using the Go atomic functions must be 8-byte aligned on 32-bit platforms. Otherwise there are crashes. --- keypair.go | 2 +- peer.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keypair.go b/keypair.go index 283cb92..1ab0649 100644 --- a/keypair.go +++ b/keypair.go @@ -14,10 +14,10 @@ import ( */ type KeyPair struct { + sendNonce uint64 send cipher.AEAD receive cipher.AEAD replayFilter ReplayFilter - sendNonce uint64 isInitiator bool created time.Time localIndex uint32 diff --git a/peer.go b/peer.go index 5580cf6..3a4f5f2 100644 --- a/peer.go +++ b/peer.go @@ -13,9 +13,9 @@ const ( ) type Peer struct { + persistentKeepaliveInterval uint64 isRunning AtomicBool mutex sync.RWMutex - persistentKeepaliveInterval uint64 keyPairs KeyPairs handshake Handshake device *Device