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

Let languages init & finish run without locks held #84847

Merged
merged 1 commit into from
Nov 14, 2023

Conversation

RandomShaper
Copy link
Member

@RandomShaper RandomShaper commented Nov 13, 2023

These changes are still not perfect against race conditions, but that was already the case before the recent batch of changes here.

@akien-mga
Copy link
Member

It should also fix #84728 (the problem is with the C# bindings btw, not GDExtension - but GDExtension script bindings may also be affected).

Copy link
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this today, and confirm this fixes #84728.

Didn't spot any obvious regression on a couple GDScript and C#.
Didn't test any GDExtension ScriptLanguage.

I still get this one error when closing the .NET editor, but it's no longer blocking:

ERROR: Condition "!EditorSettings::get_singleton() || !EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (./editor/editor_settings.cpp:1140)

The same error happens in 4.2-beta5 so it's not related to your original PR, and thus not needed to fix here.
Edit: This error even happens in 4.1-stable on my test project.

@YuriSizov
Copy link
Contributor

The same error happens in 4.2-beta5 so it's not related to your original PR, and thus not needed to fix here.
Edit: This error even happens in 4.1-stable on my test project.

It is probably related to this report #84839.

@akien-mga
Copy link
Member

Thanks!

@RandomShaper RandomShaper deleted the lang_init_term branch November 15, 2023 04:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants