]> git.lizzy.rs Git - hydra-dragonfire.git/blobdiff - hydra.go
Merge pull request #4 from Minetest-j45/master
[hydra-dragonfire.git] / hydra.go
index 6caff4cb48040c1cf79238ed7f2afabe2dcab3d8..2d5d9e3f9b073c3de5364f0b1d029190c0bbd2d4 100644 (file)
--- a/hydra.go
+++ b/hydra.go
@@ -5,6 +5,7 @@ import (
        "github.com/yuin/gopher-lua"
        "os"
        "os/signal"
+       "runtime/pprof"
        "syscall"
        "time"
 )
@@ -12,8 +13,8 @@ import (
 var lastTime = time.Now()
 var signalChannel chan os.Signal
 
-var serializeVer uint8 = 28
-var protoVer uint16 = 39
+var serializeVer uint8 = 29
+var protoVer uint16 = 40
 
 //go:embed builtin/luax/init.lua
 var builtinLuaX string
@@ -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()