diff --git a/cmd/dwelling-upload/main.go b/cmd/dwelling-upload/main.go index 56b6127..211fa92 100644 --- a/cmd/dwelling-upload/main.go +++ b/cmd/dwelling-upload/main.go @@ -107,23 +107,29 @@ func main() { doneSignal := make(chan os.Signal, 1) signal.Notify(doneSignal, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) + closeSignal := make(chan bool, 1) - for { - select { - case <-doneSignal: - if err := srv.Stop(); err != nil { - logErr.Fatalln(err) - } - case <-uploadDirNotify: - sz, err := utils.DirectorySize(config.Uploads.Directory) - if err != nil { - logErr.Println(err) - } + go func() { + for { + select { + case <-doneSignal: + if err := srv.Stop(); err != nil { + logErr.Fatalln(err) + } + closeSignal <- true + case <-uploadDirNotify: + sz, err := utils.DirectorySize(config.Uploads.Directory) + if err != nil { + logErr.Println(err) + } - if sz > 0 { - uploadDirSize = sz + if sz > 0 { + uploadDirSize = sz + } } } - } + }() + + <-closeSignal }