Browse Source

more signals handled

boyska 5 years ago
parent
commit
86bdeed4a2
1 changed files with 5 additions and 2 deletions
  1. 5 2
      cmd/circologd/main.go

+ 5 - 2
cmd/circologd/main.go

@@ -3,10 +3,12 @@ package main
 import (
 	"flag"
 	"fmt"
+	"log"
 	"net"
 	"net/http"
 	"os"
 	"os/signal"
+	"syscall"
 
 	"git.lattuga.net/boyska/circolog"
 	syslog "gopkg.in/mcuadros/go-syslog.v2"
@@ -29,7 +31,7 @@ func main() {
 	flag.Parse()
 
 	interrupt := make(chan os.Signal, 1)
-	signal.Notify(interrupt, os.Interrupt)
+	signal.Notify(interrupt, syscall.SIGINT, syscall.SIGTERM)
 
 	hub := circolog.NewHub(*bufsize)
 	handler := syslog.NewChannelHandler(hub.LogMessages)
@@ -85,7 +87,8 @@ func main() {
 
 	for {
 		select {
-		case <-interrupt:
+		case sig := <-interrupt:
+			log.Println("Quitting because of signal", sig)
 			server.Kill()
 			if err := httpServer.Close(); err != nil {
 				fmt.Fprintln(os.Stderr, "Error closing http server:", err)