fix segfault on arm due to bad atomic access

fixes #78
This commit is contained in:
Steven Allen 2018-05-29 18:59:04 +02:00
parent 4e84ab6c81
commit 4f3a97bcc3
1 changed files with 7 additions and 3 deletions

View File

@ -26,6 +26,13 @@ const (
var log = logging.Logger("pubsub") var log = logging.Logger("pubsub")
type PubSub struct { type PubSub struct {
// atomic counter for seqnos
// NOTE: Must be declared at the top of the struct as we perform atomic
// operations on this field.
//
// See: https://golang.org/pkg/sync/atomic/#pkg-note-BUG
counter uint64
host host.Host host host.Host
rt PubSubRouter rt PubSubRouter
@ -79,9 +86,6 @@ type PubSub struct {
seenMessages *timecache.TimeCache seenMessages *timecache.TimeCache
ctx context.Context ctx context.Context
// atomic counter for seqnos
counter uint64
} }
// PubSubRouter is the message router component of PubSub // PubSubRouter is the message router component of PubSub