Skip to content

Commit

Permalink
Fix misaligned struct member used in atomic operation
Browse files Browse the repository at this point in the history
This fixes a panic caused by attempting to atomically access a struct
member which is not 64-bit aligned when running on 32-bit arch, due to
the smaller sync.Map struct.

Fixes: #2518

Signed-off-by: Daniel Swarbrick <daniel.swarbrick@gmail.com>
  • Loading branch information
dswarbrick committed Feb 27, 2024
1 parent d1e1b9e commit 0f15348
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions service/internal/endpoint-discovery/cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ import (
// based on some key. The data structure makes use of a read write
// mutex to enable asynchronous use.
type EndpointCache struct {
endpoints sync.Map
endpointLimit int64
// size is used to count the number elements in the cache.
// The atomic package is used to ensure this size is accurate when
// using multiple goroutines.
size int64
size int64
endpoints sync.Map
endpointLimit int64
}

// NewEndpointCache will return a newly initialized cache with a limit
Expand Down

0 comments on commit 0f15348

Please sign in to comment.