Summary
Replace vfork() usage in nft_popen.c with a safer, portable process-spawn approach.
Work
- Replace
vfork() path with posix_spawn() (preferred) or a well-guarded fork() fallback.
- Preserve current stdin/stdout pipe behavior and fd cleanup semantics.
- Keep retry/error handling explicit and deterministic.
- Validate behavior across supported Unix targets (macOS, FreeBSD, Linux/Solaris variants where available).
Acceptance Criteria
- No
vfork() remains in nft_popen.c.
- Child process setup preserves existing command execution behavior.
- No regressions in thread-safety/cancellation behavior.
- Logging/error handling remains actionable.
Related:
Summary
Replace
vfork()usage innft_popen.cwith a safer, portable process-spawn approach.Work
vfork()path withposix_spawn()(preferred) or a well-guardedfork()fallback.Acceptance Criteria
vfork()remains innft_popen.c.Related: