diff options
| author | xengineering <me@xengineering.eu> | 2026-05-21 20:54:59 +0200 |
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2026-05-21 20:54:59 +0200 |
| commit | bfabcbed8d15918c698035c3792533d31b756e5d (patch) | |
| tree | 6dec077ff0fc2ef8261d4d25ea79dfc3bdcee2af /main.go | |
| parent | 242fa643db458663479a2fe3f1c757b5bf05cb5d (diff) | |
| download | finserv-bfabcbed8d15918c698035c3792533d31b756e5d.tar finserv-bfabcbed8d15918c698035c3792533d31b756e5d.tar.zst finserv-bfabcbed8d15918c698035c3792533d31b756e5d.zip | |
Fix stop message
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -3,6 +3,9 @@ package main import ( "fmt" "log" + "os" + "os/signal" + "syscall" "net/http" "time" @@ -34,9 +37,20 @@ func run() { ReadTimeout: ReadTimeout, } - log.Fatal(srv.ListenAndServe()) + go srv.ListenAndServe() + + await(syscall.SIGTERM, syscall.SIGINT) } func hello(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello world!") } + +func await(signals ...syscall.Signal) { + listener := make(chan os.Signal, 1) + for _, s := range signals { + signal.Notify(listener, s) + } + sig := <-listener + log.Printf("Received OS signal '%v'\n", sig) +} |
