From 0cb2ab396c6e8d0859db83b9368d804d9117fc04 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Wed, 17 Jun 2020 17:52:47 -0700 Subject: [PATCH] Try to fix a race condition where a file is attempted to be moved and deleted at the same time --- config.go | 7 +++++-- main.go | 2 +- utils.go | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/config.go b/config.go index 3049ead34..5d2a63b10 100644 --- a/config.go +++ b/config.go @@ -3,6 +3,9 @@ package main import ( "fmt" "io/ioutil" + "os" + "path" + "strconv" log "github.com/sirupsen/logrus" @@ -94,11 +97,11 @@ func checkConfig(config Config) { } if !fileExists(config.PrivateHLSPath) { - panic(fmt.Sprintf("%s does not exist.", config.PrivateHLSPath)) + os.MkdirAll(path.Join(config.PrivateHLSPath, strconv.Itoa(0)), 0777) } if !fileExists(config.PublicHLSPath) { - panic(fmt.Sprintf("%s does not exist.", config.PublicHLSPath)) + os.MkdirAll(path.Join(config.PublicHLSPath, strconv.Itoa(0)), 0777) } if !fileExists(config.FFMpegPath) { diff --git a/main.go b/main.go index f63c3c555..e485c6353 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ func main() { log.StandardLogger().Printf("Owncast v%s/%s (%s)", BuildVersion, BuildType, GitCommit) checkConfig(configuration) + stats = getSavedStats() stats.Setup() @@ -38,7 +39,6 @@ func main() { if usingExternalStorage { storage.Setup(configuration) - // hlsDirectoryPath = configuration.PrivateHLSPath go monitorVideoContent(configuration.PrivateHLSPath, configuration, storage) } diff --git a/utils.go b/utils.go index b908a8cbd..5b484281e 100644 --- a/utils.go +++ b/utils.go @@ -55,6 +55,8 @@ func copy(src, dst string) { } func resetDirectories(configuration Config) { + log.Println("Resetting file directories to a clean slate.") + // Wipe the public, web-accessible hls data directory os.RemoveAll(configuration.PublicHLSPath) os.RemoveAll(configuration.PrivateHLSPath)