Skip to content

Fix FI_EINTR (interrupted) corrupting internal state for no reason#628

Open
jonasohland wants to merge 1 commit into
dmf-mxl:mainfrom
jonasohland:fix/fabrics/handle-interrupt
Open

Fix FI_EINTR (interrupted) corrupting internal state for no reason#628
jonasohland wants to merge 1 commit into
dmf-mxl:mainfrom
jonasohland:fix/fabrics/handle-interrupt

Conversation

@jonasohland

@jonasohland jonasohland commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Some providers return FI_EINTR from blocking completion or event queue reads. This was (almost correctly) forwarded to the user through an exception, but leave our internal state variant in valueless_by_exception.
FI_EINTR is a recoverable error, so the user should be able to continue making progress it they choose to do so.
This PR fixes that by catching FI_EINTR early and returning it as a valid result.

Fixes #624

Co-authored-by: Jonas Ohland <jonas.ohland@gmail.com>
Signed-off-by: Jonas Ohland (Riedel) <jonas.ohland@riedel.net>
@jonasohland jonasohland self-assigned this Jul 24, 2026
@jonasohland jonasohland added the backport/v1.1 This PR should be back ported to the release branch of version 1.1. label Jul 24, 2026

@vt-tv vt-tv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@mlefebvre1 mlefebvre1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/v1.1 This PR should be back ported to the release branch of version 1.1.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

[Small Improvement] Gracefully handle signal interruptions on blocking completion queue reads

3 participants