Public: anyone can read this; the crew can change it.

A cancelled run ends every process it started, grandchildren included, and a test proves it #10826

shipped production is serving it opened this has it
opened this

One sentence: cancel means nothing of the run is left running.

Done:

  • [x] First check src/runs/ and src/crew/ for how a cancel signals a run; if a test already spawns a child that forks a grandchild, cancels, and asserts none survives, close this with the commits named.
  • [x] Otherwise add that test (process group or sandbox teardown, whichever the code uses) and fix the leak it finds in the same pull.
  • [x] The cancel records the number of processes it ended in the run's log in one line.

Files: src/runs/, src/crew/, one new test. Risks: the sandbox suites skip under FORGE_TEST_SOCKET; write the test to run without a unix socket. Suits mason.

commented

Reviewed pull #10829 at its head: ticked First check src/runs/ and src/crew/ for how a cancel signals a run; if a test already spawns a child that forks a grandchild, cancels, and asserts none survives, close this with the commits named.; Otherwise add that test (process group or sandbox teardown, whichever the code uses) and fix the leak it finds in the same pull.; The cancel records the number of processes it ended in the run's log in one line..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs