From f32873f307553b7f22c864bf3bffb0be73855da7 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 16 Mar 2024 14:47:20 +0100 Subject: [PATCH] evdist: Add interrupts to consult state --- evdist/main.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/evdist/main.go b/evdist/main.go index f9a83842..2b3b18f3 100644 --- a/evdist/main.go +++ b/evdist/main.go @@ -5,8 +5,10 @@ import ( "io/ioutil" "log" "os" + "os/signal" "path" "strings" + "syscall" "time" "srs.epita.fr/fic-server/settings" @@ -85,6 +87,12 @@ func main() { log.Fatal(err) } + // Register SIGUSR1 and SIGTERM + interrupt1 := make(chan os.Signal, 1) + signal.Notify(interrupt1, syscall.SIGUSR1) + interrupt := make(chan os.Signal, 1) + signal.Notify(interrupt, syscall.SIGTERM) + watchedNotify := fsnotify.Create treatNewFile := func(name string) { @@ -95,8 +103,17 @@ func main() { } } +loop: for { select { + case <-interrupt: + break loop + case <-interrupt1: + log.Println("SIGUSR1 received, displaying queues") + log.Println("Seeing settings distlist") + lSettings.Print() + log.Println("Seeing dashboard distlist") + lDashboard.Print() case <-lSettings.Timer.C: if v := lSettings.Pop(); v != nil { log.Printf("TREATING SETTINGS DIFF: %v", v)