From 21c8b9f8e7bd3d87dd9c8763d588ba322de88a15 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Thu, 20 Apr 2023 23:25:40 +0700 Subject: [PATCH] Revert ignoring SIGCHLD Using signal.Ignore causes exec.Command failed with no child process error. --- internal/router/service_ddwrt.go | 3 +-- internal/router/service_merlin.go | 3 +-- internal/router/service_ubios.go | 1 - internal/router/signal.go | 7 ------- internal/router/signal_windows.go | 5 ----- 5 files changed, 2 insertions(+), 17 deletions(-) delete mode 100644 internal/router/signal.go delete mode 100644 internal/router/signal_windows.go diff --git a/internal/router/service_ddwrt.go b/internal/router/service_ddwrt.go index 953035e..ac177f9 100644 --- a/internal/router/service_ddwrt.go +++ b/internal/router/service_ddwrt.go @@ -159,9 +159,8 @@ func (s *ddwrtSvc) Run() (err error) { if interactice, _ := isInteractive(); !interactice { signal.Ignore(syscall.SIGHUP) - signal.Ignore(sigCHLD) } - var sigChan = make(chan os.Signal, 2) + var sigChan = make(chan os.Signal, 1) signal.Notify(sigChan, syscall.SIGTERM, os.Interrupt) <-sigChan diff --git a/internal/router/service_merlin.go b/internal/router/service_merlin.go index 3c5e2de..7f40b0d 100644 --- a/internal/router/service_merlin.go +++ b/internal/router/service_merlin.go @@ -172,10 +172,9 @@ func (s *merlinSvc) Run() (err error) { if interactice, _ := isInteractive(); !interactice { signal.Ignore(syscall.SIGHUP) - signal.Ignore(sigCHLD) } - var sigChan = make(chan os.Signal, 3) + var sigChan = make(chan os.Signal, 1) signal.Notify(sigChan, syscall.SIGTERM, os.Interrupt) <-sigChan diff --git a/internal/router/service_ubios.go b/internal/router/service_ubios.go index 5812eda..5c4d99d 100644 --- a/internal/router/service_ubios.go +++ b/internal/router/service_ubios.go @@ -170,7 +170,6 @@ func (s *ubiosSvc) Run() (err error) { if interactice, _ := isInteractive(); !interactice { signal.Ignore(syscall.SIGHUP) - signal.Ignore(sigCHLD) } var sigChan = make(chan os.Signal, 3) diff --git a/internal/router/signal.go b/internal/router/signal.go deleted file mode 100644 index f6f11ed..0000000 --- a/internal/router/signal.go +++ /dev/null @@ -1,7 +0,0 @@ -//go:build !windows - -package router - -import "syscall" - -const sigCHLD = syscall.SIGCHLD diff --git a/internal/router/signal_windows.go b/internal/router/signal_windows.go deleted file mode 100644 index 6526575..0000000 --- a/internal/router/signal_windows.go +++ /dev/null @@ -1,5 +0,0 @@ -package router - -import "syscall" - -const sigCHLD = syscall.SIGHUP