Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
This PR adds Windows support through clean abstractions. The implementation is well-structured and follows Go conventions for platform-specific code. Positive aspects:
Minor observations:
No blocking issues found. The implementation correctly handles cross-platform file locking and process management within the constraints of each OS. |
ReviewThe overall approach is clean — splitting platform-specific code into Bug:
|
…r Windows support
48de99a to
e72f6c6
Compare
- serve.go: add os.Interrupt to signal.Notify so graceful shutdown triggers on Windows (SIGTERM is silently ignored there) - daemonctl_unix.go: remove redundant unix.Signal() cast (unix.SIGKILL is already unix.Signal type) - spawn_windows.go: add comment explaining DETACHED_PROCESS and CREATE_NEW_PROCESS_GROUP flags - filelock_test.go: add TestTryLockConflict to verify held=true path
|
Fixed in 13d67f3:
|
Review SummaryAll prior review feedback has been properly addressed in commit Fixes Verified:
Verification:
Minor observation (not blocking): No blocking issues. Ready to merge. |
|
All issues from the previous review round are resolved. A couple of minor observations on the latest state:
No new bugs or regressions found. The platform-split approach is clean, the |
|
Acknowledged on the |


Summary
internal/filelockpackage abstractingflock(2)(Unix) andLockFileEx(Windows) behind a cross-platformLock/TryLock/UnlockAPIgolang.org/x/sys/unixflock usage inserve.go,daemonctl,sockpath, andtlsconfigwith the new packageSetpgid/Setsid/Kill(-pid)) into_unix.go/_windows.gobuild-tag pairs forchildprocanddaemon/spawnGOOS=windows GOARCH=amd64 go build ./...to thego-checksCI job so Windows regressions are caught on every PRTest Plan
go test ./... -count=1GOOS=windows GOARCH=amd64 go build ./...go-checksjob passes (includes new Windows build step)hostmux-windows-amd64.exeandhostmux-windows-arm64.exewithout errors