windows: error filter

This commit is contained in:
mhsanaei
2025-09-14 20:04:12 +02:00
parent 6d41320ed7
commit 46de886b53
2 changed files with 18 additions and 1 deletions
+11 -1
View File
@@ -9,6 +9,7 @@ import (
"os"
"os/exec"
"runtime"
"strings"
"syscall"
"time"
@@ -224,6 +225,15 @@ func (p *process) Start() (err error) {
go func() {
err := cmd.Run()
if err != nil {
// On Windows, killing the process results in "exit status 1" which isn't an error for us
if runtime.GOOS == "windows" {
errStr := strings.ToLower(err.Error())
if strings.Contains(errStr, "exit status 1") {
// Suppress noisy log on graceful stop
p.exitErr = err
return
}
}
logger.Error("Failure in running xray-core:", err)
p.exitErr = err
}
@@ -239,7 +249,7 @@ func (p *process) Stop() error {
if !p.IsRunning() {
return errors.New("xray is not running")
}
if runtime.GOOS == "windows" {
return p.cmd.Process.Kill()
} else {