Use custom atomic.Bool, as it is not supported in Go 1.18

This commit is contained in:
Deluan 2022-11-26 15:14:19 -05:00
parent 88823fca76
commit a69a31a3bf
2 changed files with 8 additions and 8 deletions

View file

@ -6,13 +6,13 @@ import (
"os" "os"
"strings" "strings"
"sync" "sync"
"sync/atomic"
"github.com/navidrome/navidrome/conf" "github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/log" "github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model" "github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/model/request" "github.com/navidrome/navidrome/model/request"
"github.com/navidrome/navidrome/tests" "github.com/navidrome/navidrome/tests"
"github.com/navidrome/navidrome/utils"
. "github.com/onsi/ginkgo/v2" . "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
@ -202,7 +202,7 @@ func newFakeFFmpeg(data string) *fakeFFmpeg {
type fakeFFmpeg struct { type fakeFFmpeg struct {
io.Reader io.Reader
lock sync.Mutex lock sync.Mutex
closed atomic.Bool closed utils.AtomicBool
} }
func (ff *fakeFFmpeg) Start(ctx context.Context, cmd, path string, maxBitRate int) (f io.ReadCloser, err error) { func (ff *fakeFFmpeg) Start(ctx context.Context, cmd, path string, maxBitRate int) (f io.ReadCloser, err error) {
@ -216,10 +216,10 @@ func (ff *fakeFFmpeg) Read(p []byte) (n int, err error) {
} }
func (ff *fakeFFmpeg) Close() error { func (ff *fakeFFmpeg) Close() error {
ff.closed.Store(true) ff.closed.Set(true)
return nil return nil
} }
func (ff *fakeFFmpeg) IsClosed() bool { func (ff *fakeFFmpeg) IsClosed() bool {
return ff.closed.Load() return ff.closed.Get()
} }

View file

@ -2,16 +2,16 @@ package utils
import "sync/atomic" import "sync/atomic"
type AtomicBool struct{ flag int32 } type AtomicBool struct{ flag uint32 }
func (b *AtomicBool) Get() bool { func (b *AtomicBool) Get() bool {
return atomic.LoadInt32(&(b.flag)) != 0 return atomic.LoadUint32(&(b.flag)) != 0
} }
func (b *AtomicBool) Set(value bool) { func (b *AtomicBool) Set(value bool) {
var i int32 = 0 var i uint32 = 0
if value { if value {
i = 1 i = 1
} }
atomic.StoreInt32(&(b.flag), i) atomic.StoreUint32(&(b.flag), i)
} }