Skip to content

Preserve receive timeout across EINTR retries #5

Description

@han-xudong

PosixTransport::receive currently retries poll after EINTR with the original timeout. Repeated signals can therefore extend the caller-requested receive timeout.

Track a monotonic deadline, recompute the remaining duration for each retry, and return a timeout once the deadline is exhausted. Add a focused regression test that interrupts poll without weakening the existing timeout behavior.

This was identified while reviewing the immutable netft-cpp v0.1.2 snapshot in netft/ros-netft#9. The fix belongs here first and can be included in ros-netft through a later released core snapshot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions