sync.Mutex was replaced by sync.RWMutex for SongList.
This commit is contained in:
parent
1d50bbe790
commit
f53f30963d
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user