mirror of
https://github.com/Adembc/lazyssh.git
synced 2026-07-14 12:13:34 +02:00
fix: solve windows build issue
This commit is contained in:
@@ -21,7 +21,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"regexp"
|
"regexp"
|
||||||
"runtime"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -222,11 +221,9 @@ func (s *serverService) StartForward(alias string, extraArgs []string) (int, err
|
|||||||
cmd.Stdin = devNull
|
cmd.Stdin = devNull
|
||||||
cmd.Stdout = devNull
|
cmd.Stdout = devNull
|
||||||
cmd.Stderr = devNull
|
cmd.Stderr = devNull
|
||||||
// Set SysProcAttr conditionally to avoid Windows-only build issues
|
// Set SysProcAttr in an OS-specific way (see sysprocattr_* files)
|
||||||
sysProcAttr := &syscall.SysProcAttr{}
|
sysProcAttr := &syscall.SysProcAttr{}
|
||||||
if runtime.GOOS != "windows" {
|
setDetach(sysProcAttr)
|
||||||
sysProcAttr.Setsid = true
|
|
||||||
}
|
|
||||||
cmd.SysProcAttr = sysProcAttr
|
cmd.SysProcAttr = sysProcAttr
|
||||||
|
|
||||||
if err := cmd.Start(); err != nil {
|
if err := cmd.Start(); err != nil {
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
//go:build !windows
|
||||||
|
|
||||||
|
package services
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
// setDetach configures SysProcAttr to detach the process on non-Windows platforms.
|
||||||
|
func setDetach(attr *syscall.SysProcAttr) {
|
||||||
|
// On Unix-like systems, Setsid creates a new session to fully detach.
|
||||||
|
attr.Setsid = true
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
//go:build windows
|
||||||
|
|
||||||
|
package services
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
// setDetach is a no-op on Windows because syscall.SysProcAttr does not have Setsid.
|
||||||
|
func setDetach(attr *syscall.SysProcAttr) {
|
||||||
|
// No detachment tweak needed; Windows uses different process group semantics.
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user