php/services_windows.go
Snider ad8af2fb83
Some checks failed
CI / PHP 8.4 (push) Failing after 2m5s
CI / PHP 8.3 (push) Failing after 2m10s
feat: merge go-php Go CLI into core/php
Merge all Go code from core/go-php into core/php, creating a dual-language
repo (Go CLI + PHP framework). Module path: forge.lthn.ai/core/php.

- PHP dev/build/deploy/QA commands (cmd_*.go)
- FrankenPHP handler + bridge (handler.go, bridge.go)
- Standalone binary entry point (cmd/core-php/)
- Build/release configs (.core/)
- Full test suite

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 17:50:01 +00:00

34 lines
756 B
Go

//go:build windows
package php
import (
"os"
"os/exec"
)
// setSysProcAttr sets Windows-specific process attributes.
// Windows doesn't support Setpgid, so this is a no-op.
func setSysProcAttr(cmd *exec.Cmd) {
// No-op on Windows - process groups work differently
}
// signalProcessGroup sends a termination signal to the process.
// On Windows, we can only signal the main process, not a group.
func signalProcessGroup(cmd *exec.Cmd, sig os.Signal) error {
if cmd.Process == nil {
return nil
}
return cmd.Process.Signal(sig)
}
// termSignal returns os.Interrupt for Windows (closest to SIGTERM).
func termSignal() os.Signal {
return os.Interrupt
}
// killSignal returns os.Kill for Windows.
func killSignal() os.Signal {
return os.Kill
}