Mono: Force preemptive thread suspend mode as a temporary workaround

This commit is contained in:
Ignacio Etcheverry 2019-08-30 01:33:50 +02:00
parent a5e0aa32d9
commit 5a6070dde3
1 changed files with 7 additions and 0 deletions

View File

@ -317,6 +317,13 @@ void GDMono::initialize() {
return; return;
#endif #endif
#if !defined(WINDOWS_ENABLED) && !defined(NO_MONO_THREADS_SUSPEND_WORKAROUND)
// FIXME: Temporary workaround. See: https://github.com/godotengine/godot/issues/29812
if (!OS::get_singleton()->has_environment("MONO_THREADS_SUSPEND")) {
OS::get_singleton()->set_environment("MONO_THREADS_SUSPEND", "preemptive");
}
#endif
root_domain = mono_jit_init_version("GodotEngine.RootDomain", "v4.0.30319"); root_domain = mono_jit_init_version("GodotEngine.RootDomain", "v4.0.30319");
ERR_FAIL_NULL_MSG(root_domain, "Mono: Failed to initialize runtime."); ERR_FAIL_NULL_MSG(root_domain, "Mono: Failed to initialize runtime.");