fix(foundation): resume spawn backoff after EINTR (#1616) - #1799
Conversation
Signed-off-by: Rares Popa <2606875+rarepops@users.noreply.github.com>
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
|
Thank you for the focused EINTR fix and deterministic regression test. I checked current I have labeled this as a high-priority stability bug and routed it for review. CI is green. Our review queue is full, so detailed review may take a little time, but the change is now classified and visible. Thank you for limiting the new full-sleep behavior to the spawn-backoff path. |
What does this PR do?
Adds
cbm_nanosleep_full()to resume POSIX sleeps afterEINTR, and uses it for subprocess spawn backoff so transient signals cannot silently shorten the documented retry budget. Other sleep call sites retain their existing interruptible behavior.Adds a POSIX regression test that repeatedly interrupts the deterministic spawn backoff with
SIGALRMand verifies the full cumulative delay is preserved.Fixes #1616
Checklist
git commit -s) - required, CI rejects unsigned commits (DCO, see CONTRIBUTING.md)subprocess: 32 passed)clang-format-20,cppcheck 2.20.0)