Selaa lähdekoodia

Mono: Force preemptive thread suspend mode as a temporary workaround

Ignacio Etcheverry 6 vuotta sitten
vanhempi
commit
5a6070dde3
1 muutettua tiedostoa jossa 7 lisäystä ja 0 poistoa
  1. 7 0
      modules/mono/mono_gd/gd_mono.cpp

+ 7 - 0
modules/mono/mono_gd/gd_mono.cpp

@@ -317,6 +317,13 @@ void GDMono::initialize() {
 		return;
 #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");
 	ERR_FAIL_NULL_MSG(root_domain, "Mono: Failed to initialize runtime.");