From 44d0cfed5a4dfc69a9bc6b0a481aeb761e072854 Mon Sep 17 00:00:00 2001 From: Elinor Fung Date: Tue, 9 Aug 2022 22:43:50 -0700 Subject: [PATCH] Initialize main thread to MTA by default in NativeAOT (#73659) --- .../IL/Stubs/StartupCode/StartupCodeMainMethod.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/IL/Stubs/StartupCode/StartupCodeMainMethod.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/IL/Stubs/StartupCode/StartupCodeMainMethod.cs index 435198bf162..1741ffdd61d 100644 --- a/src/coreclr/tools/aot/ILCompiler.Compiler/IL/Stubs/StartupCode/StartupCodeMainMethod.cs +++ b/src/coreclr/tools/aot/ILCompiler.Compiler/IL/Stubs/StartupCode/StartupCodeMainMethod.cs @@ -77,7 +77,7 @@ public override MethodIL EmitIL() codeStream.Emit(ILOpcode.call, emitter.NewToken(method)); } } - + MetadataType startup = Context.GetOptionalHelperType("StartupCodeHelpers"); // Initialize command line args if the class library supports this @@ -110,8 +110,9 @@ public override MethodIL EmitIL() codeStream.EmitLdc((int)System.Threading.ApartmentState.STA); codeStream.Emit(ILOpcode.call, emitter.NewToken(initApartmentState)); } - if (_mainMethod.WrappedMethod.HasCustomAttribute("System", "MTAThreadAttribute")) + else { + // Initialize to MTA by default codeStream.EmitLdc((int)System.Threading.ApartmentState.MTA); codeStream.Emit(ILOpcode.call, emitter.NewToken(initApartmentState)); } -- GitLab