Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@lambdageek
Copy link
Member

Manual backport of #21016


Handle EINTR for opendir/readdir/closedir.

Because of how thread aborts work, we must loop in managed.
A thread abort will break syscalls and return EINTR, but mono will not raise a
ThreadAbortException until a pinvoke returns.

(Despite the documentation, opendir/readdir/closedir sometimes return EINTR on
macOS Big Sur.)

Related to #20799

Bump corefx to mono/corefx@9174bbeb7e

lambdageek and others added 3 commits April 23, 2021 09:17
Handle EINTR for opendir/readdir/closedir.

Because of how thread aborts work, we must loop in managed.
A thread abort will break syscalls and return EINTR, but mono will not raise a
ThreadAbortException until a pinvoke returns.

(Despite the documentation, opendir/readdir/closedir sometimes return EINTR on
macOS Big Sur.)

Related to mono#20799
on mac it's in corlib, on unix and android it's in System, for some reason
@lambdageek
Copy link
Member Author

@steveisok @akoeplinger please review this one and #21016

@lambdageek
Copy link
Member Author

@monojenkins build failed

@lambdageek
Copy link
Member Author

lambdageek commented Apr 24, 2021

@akoeplinger @steveisok Windows and Linux/Intel lanes seem stuck.

@lambdageek
Copy link
Member Author

@monojenkins build

@akoeplinger
Copy link
Member

@monojenkins build failed

@lambdageek lambdageek merged commit 51d876a into mono:2020-02 Apr 29, 2021
@lambdageek lambdageek deleted the readdir-eintr-2020-02 branch April 29, 2021 13:22
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