diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-09 01:00:19 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-09 01:00:19 +0200 |
commit | 1a8a4ac3dc8b9c3167e18192269d8609f6e7799e (patch) | |
tree | d67bcb0a054b54e8e6f386af99c99bcd69aa7c2d | |
parent | 97255297564bfdca579b3b66e860f1d2faea4980 (diff) | |
download | hydra-dragonfire-1a8a4ac3dc8b9c3167e18192269d8609f6e7799e.tar.xz |
Handle SIGUSR1 by printing stack trace
-rw-r--r-- | hydra.go | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -5,6 +5,7 @@ import ( "github.com/yuin/gopher-lua" "os" "os/signal" + "runtime/pprof" "syscall" "time" ) @@ -72,6 +73,15 @@ func main() { signalChannel = make(chan os.Signal, 1) signal.Notify(signalChannel, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + go func() { + ch := make(chan os.Signal, 1) + signal.Notify(ch, syscall.SIGUSR1) + for { + <-ch + pprof.Lookup("goroutine").WriteTo(os.Stdout, 1) + } + }() + l := lua.NewState() defer l.Close() |