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

Exit with quick_exit when using debug UCRT #109006

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

MichalStrehovsky
Copy link
Member

Resolves #108640.

Cc @dotnet/ilc-contrib @janvorli

@jkotas
Copy link
Member

jkotas commented Oct 18, 2024

I expect that this will break tracing tests. Tracing depends on C runtime shutdown notification to close the session:

atexit(&OnProcessExit);

Also, the same fundamental problem exists in regular coreclr as well.

@janvorli
Copy link
Member

It seems that the only way to fix the problem and keep the cleanup at exit untouched would be to link to ucrt dynamically. The cleanup then occurs in DllMain of the library on DLL_PROCESS_DETACH.

@janvorli
Copy link
Member

I meant the low level CRT cleanup, not the atexit stuff.

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

Successfully merging this pull request may close these issues.

Test failure: JIT/jit64/mcc/interop/mcc_i03/mcc_i03.cmd
3 participants