fix(jukebox): use a tmp dir instead of file for mpv sock
closes #266 fixes #265 Release-As: 0.15.1
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
@@ -355,15 +356,16 @@ func (s *Server) StartScanWatcher() (FuncExecute, FuncInterrupt) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) StartJukebox(mpvExtraArgs []string) (FuncExecute, FuncInterrupt) {
|
func (s *Server) StartJukebox(mpvExtraArgs []string) (FuncExecute, FuncInterrupt) {
|
||||||
var sockFile *os.File
|
var tempDir string
|
||||||
return func() error {
|
return func() error {
|
||||||
log.Printf("starting job 'jukebox'\n")
|
log.Printf("starting job 'jukebox'\n")
|
||||||
var err error
|
var err error
|
||||||
sockFile, err = os.CreateTemp("", "gonic-jukebox-*.sock")
|
tempDir, err = os.MkdirTemp("", "gonic-jukebox-*")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("create tmp sock file: %w", err)
|
return fmt.Errorf("create tmp sock file: %w", err)
|
||||||
}
|
}
|
||||||
if err := s.jukebox.Start(sockFile.Name(), mpvExtraArgs); err != nil {
|
sockPath := filepath.Join(tempDir, "sock")
|
||||||
|
if err := s.jukebox.Start(sockPath, mpvExtraArgs); err != nil {
|
||||||
return fmt.Errorf("start jukebox: %w", err)
|
return fmt.Errorf("start jukebox: %w", err)
|
||||||
}
|
}
|
||||||
if err := s.jukebox.Wait(); err != nil {
|
if err := s.jukebox.Wait(); err != nil {
|
||||||
@@ -375,8 +377,7 @@ func (s *Server) StartJukebox(mpvExtraArgs []string) (FuncExecute, FuncInterrupt
|
|||||||
if err := s.jukebox.Quit(); err != nil {
|
if err := s.jukebox.Quit(); err != nil {
|
||||||
log.Printf("error quitting jukebox: %v", err)
|
log.Printf("error quitting jukebox: %v", err)
|
||||||
}
|
}
|
||||||
_ = sockFile.Close()
|
_ = os.RemoveAll(tempDir)
|
||||||
_ = os.Remove(sockFile.Name())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user