package runtime_lingering_descendant_test; import os; @test fn returning_test_clears_descendant() void = { let fds: [2]i32; assert(os.pipe(&fds) == 0); let pid: i32 = os.fork(); assert(pid >= 0); if (pid == 0) { os.close(fds[0]); let mask: u64 = 1u64 << ((os.SIGTERM - 1): u64); if (os.sigprocmask(os.SIG_BLOCK, &mask, nil: *u64) != 0) { os.exit(120); }; let ready: u8 = 1u8; if (os.write(fds[1], &ready, 1u64) != 1i64) { os.exit(121); }; os.close(fds[1]); for (true) { }; }; os.close(fds[1]); let ready: u8 = 0u8; assert(os.read(fds[0], &ready, 1u64) == 1i64); os.close(fds[0]); assert(ready == 1u8); };