Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2020-02][MonoIO] Wrap calls to open() in EINTR handling #21042

Merged
merged 1 commit into from
Apr 30, 2021

Conversation

lambdageek
Copy link
Member

Backport of #21041 to 2020-02


Related to #21040 and
dotnet/runtime#48663

On MacOS Big Sur open() is much more likely to throw EINTR - and moreover if the thread receives a signal while doing an open() even if the signal handler is marked with SA_RESTART, the open call appears not to restart and to fail anyway.

So wrap all the calls to open() in retry loops.

Related to mono#21040 and
dotnet/runtime#48663

On MacOS Big Sur open() is much more likely to throw EINTR - and moreover if
the thread receives a signal while doing an open() even if the signal handler
is marked with SA_RESTART, the open call appears not to restart and to fail
anyway.

So wrap all the calls to open() in retry loops.
@lambdageek
Copy link
Member Author

@monojenkins build failed

1 similar comment
@lambdageek
Copy link
Member Author

@monojenkins build failed

@lambdageek lambdageek merged commit 0449008 into mono:2020-02 Apr 30, 2021
@lambdageek lambdageek deleted the retry-open-eintr-2020-02 branch April 30, 2021 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants