1
0

sync.Mutex was replaced by sync.RWMutex for SongList.

This commit is contained in:
Alexander Andreev 2023-10-07 05:16:16 +04:00
parent 1d50bbe790
commit f53f30963d
Signed by: Arav
GPG Key ID: D22A817D95815393

View File

@ -45,7 +45,7 @@ func (s *Song) MarshalJSON() ([]byte, error) {
}
type SongList struct {
sync.Mutex
sync.RWMutex
current Song
lastSongs []Song
maxLen int
@ -76,8 +76,8 @@ func (sl *SongList) Add(newSong Song) {
// Current returns a currently playing song.
func (sl *SongList) Current() *Song {
sl.Lock()
defer sl.Unlock()
sl.RLock()
defer sl.RUnlock()
if sl.current.StartAt.Year() == 1 {
return nil
}
@ -96,8 +96,8 @@ func (sl *SongList) UpdateCurrentMaxListeners(listeners int) {
// List returns a list of lastly played songs.
func (sl *SongList) List() []Song {
sl.Lock()
defer sl.Unlock()
sl.RLock()
defer sl.RUnlock()
return sl.lastSongs
}