MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / spawn_ignoring_tree

Function spawn_ignoring_tree

tests/test_subprocess.c:332–347  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

330}
331
332static int spawn_ignoring_tree(const char *pid_path, int quiet_timeout_ms, int cancel_grace_ms,
333 cbm_subprocess_t **out) {
334 /* The direct child installs its trap before starting a nested shell. The two
335 * PIDs are written only after the nested process exists, eliminating the
336 * cancellation-before-trap race from the test. */
337 const char *script = "trap '' TERM; "
338 "/bin/sh -c 'trap \"\" TERM; while :; do sleep 1; done' cbm-grandchild & "
339 "grandchild=$!; echo \"$$ $grandchild\" > \"$1\"; wait";
340 const char *argv[] = {"/bin/sh", "-c", script, "cbm-parent", pid_path, NULL};
341 cbm_proc_opts_t opts = {0};
342 opts.bin = "/bin/sh";
343 opts.argv = argv;
344 opts.quiet_timeout_ms = quiet_timeout_ms;
345 opts.cancel_grace_ms = cancel_grace_ms;
346 return cbm_subprocess_spawn(&opts, out);
347}
348
349typedef struct {
350 cbm_subprocess_t *process;

Callers 1

test_subprocess.cFile · 0.85

Calls 1

cbm_subprocess_spawnFunction · 0.85

Tested by

no test coverage detected