From e0fa65fbd77a1ac335acc59789c4722735cc6fef Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Thu, 5 Oct 2023 17:31:12 +0400 Subject: [PATCH] Decided to remove inotify watcher from playlist. --- internal/radio/playlist.go | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/internal/radio/playlist.go b/internal/radio/playlist.go index 87d86de..5081fd9 100644 --- a/internal/radio/playlist.go +++ b/internal/radio/playlist.go @@ -1,12 +1,9 @@ package radio import ( - "dwelling-radio/pkg/watcher" - "log" "os" "strings" "sync" - "syscall" ) // Playlist holds a list of paths to a song files. @@ -16,8 +13,6 @@ type Playlist struct { playlist []string cur int repeat bool - watcher *watcher.InotifyWatcher - changed chan uint32 } // NewPlaylist returns an instance of a Playlist struct with a loaded playlist. @@ -63,34 +58,3 @@ func (p *Playlist) load() error { func (p *Playlist) Reload() error { return p.load() } - -func (p *Playlist) Watch() (err error) { - p.watcher, err = watcher.NewInotifyWatcher() - if err != nil { - return err - } - - err = p.watcher.AddWatch(p.filePath, watcher.ModIgnMask) - if err != nil { - return err - } - - p.watcher.WatchForMask(p.changed, watcher.ModIgnMask) - - go func() { - for { - mask := <-p.changed - - if mask&syscall.IN_MODIFY > 0 { - if err := p.load(); err != nil { - log.Fatalln("cannot reload a changed playlist:", err) - } - } else if mask&syscall.IN_IGNORED > 0 { - p.watcher.Close() - p.Watch() - } - } - }() - - return nil -}