-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Remove C FILE PAL wrappers #98238
Remove C FILE PAL wrappers #98238
Conversation
…the actual streams now before we can use the standard headers.
How about signal handlers installed by user code? E.g. custom host or 3rd party libraries? |
For signal handlers installed with the However, if the GC doesn't use the PAL headers (as you said in the later comments on some of the files), then the only places that use the Therefore, I don't think we need to worry about |
cc: @EgorBo for review of the text-based PGO format change (using LF line endings across all platforms instead of CRLF). We can also change this back and have it be LF on non-Windows and CRLF on Windows. I'd rather not support CRLF on non-Windows for this though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Text PGO changes LGTM cc @AndyAyersMS @jakobbotsch hope it won't break any internal tooling for you
Mono probably should check for (Although I'd guess we mostly use the |
@janvorli do you have any more feedback here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
Remove the PAL wrappers around the C
FILE
APIs and update locations that were using the existing features.The existing PAL layer provides the following features:
CRLF
toLF
't'
as part of the mode parameter tofopen
#ifdef
to only use explicit text mode on Windows.CRLF
toLF
EINTR
errno resultsEINTR
errors can only occur in the syscalls used by the C file APIs when a syscall is interrupted by a signal handler not marked withSA_RESTART
. All signal handlers CoreCLR installs are marked withSA_RESTART
.ferror
errors withclearerr
before each operation./sys
and/proc
), I'm not particularly worried.CreateFile
and family) instead of the C PAL.