fspy’s Unix preload must not make a traced process less reliable. Interposed calls can run from signal handlers, post-fork() children, or during teardown, where unsafe runtime state can cause deadlocks or aborts.
Expected behavior:
- Never panic, abort, or deadlock the workload.
- Preserve the original call’s result and
errno.
- Work safely during signals, after
fork(), and during teardown on Linux and macOS.
- If tracing fails, let the workload continue but skip caching the incomplete trace.
- Add regression coverage for these contexts.
fspy’s Unix preload must not make a traced process less reliable. Interposed calls can run from signal handlers, post-
fork()children, or during teardown, where unsafe runtime state can cause deadlocks or aborts.Expected behavior:
errno.fork(), and during teardown on Linux and macOS.