From ddccc478e1badc474c5244375897aa14d80b2e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9on=20Hollender?= Date: Mon, 12 Sep 2022 01:20:05 +0200 Subject: [PATCH] Prevent group signals to kill engine processes --- uci/engine.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/uci/engine.go b/uci/engine.go index 2008059..56f5cac 100644 --- a/uci/engine.go +++ b/uci/engine.go @@ -8,6 +8,7 @@ import ( "os" "os/exec" "sync" + "syscall" ) // Engine represents a UCI compliant chess engine (e.g. Stockfish, Shredder, etc.). @@ -51,6 +52,9 @@ func New(path string, opts ...func(e *Engine)) (*Engine, error) { cmd := exec.Command(path) cmd.Stdin = rIn cmd.Stdout = wOut + cmd.SysProcAttr = &syscall.SysProcAttr{ + Setpgid: true, + } e := &Engine{cmd: cmd, in: wIn, out: rOut, mu: &sync.RWMutex{}, logger: log.New(os.Stdout, "uci", log.LstdFlags)} for _, opt := range opts { opt(e)