Skip to content

feat(process): add reusable child supervisor - #1755

Merged
joeykchen merged 1 commit into
goplus:devfrom
joeykchen:refactor/process-supervisor
Aug 21, 2026
Merged

feat(process): add reusable child supervisor#1755
joeykchen merged 1 commit into
goplus:devfrom
joeykchen:refactor/process-supervisor

Conversation

@joeykchen

Copy link
Copy Markdown
Contributor

Summary

Extracts the driver-independent child-process lifecycle layer from #1753.

  • Run one prepared exec.Cmd without changing the caller working directory, environment, or process-wide signal subscriptions.
  • Preserve normal exit codes and Unix signal identity as structured status.
  • Cancel and terminate the complete child process group with bounded escalation.
  • Keep Unix and Windows behavior behind one small, reusable API.

This PR has no Project Driver, runtime bundle, cache, XGo, Mod, or release dependency.

Verification

go test -race ./internal/processsupervisor
go vet ./internal/processsupervisor
go test ./...

Follow-up

After merge, #1753 will rebase onto dev and remove this package from its diff. Runtime archive verification and transactional cache extraction are being prepared separately.

@joeykchen
joeykchen force-pushed the refactor/process-supervisor branch from f9ddca4 to f191b05 Compare August 21, 2026 04:20
@joeykchen
joeykchen marked this pull request as ready for review August 21, 2026 04:24

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the complete fixed diff for the reusable process supervisor, including Unix process-group shutdown, cancellation/status handling, Windows job-object lifecycle, module changes, and tests. I found no reportable correctness, reliability, security, or compatibility regression introduced by this PR.

Verification completed: go test ./internal/processsupervisor, go test -race ./internal/processsupervisor, go vet ./internal/processsupervisor, GOOS=windows GOARCH=amd64 go test -c ./internal/processsupervisor, and go test ./....

@joeykchen
joeykchen merged commit 6b9d78c into goplus:dev Aug 21, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant