godot/core
Pedro J. Estébanez 56bdef9f6f Fix deadlocks related to ClassDB queries about global classes
`ClassDB::can_instantiate()` and other reflection methods deadlock if the type is an script global class, when such script indirectly uses a not-yet-registered class. The reason is the `ClassDB` read lock is still held when invoking the `ResourceLoader` to load the class script, which may in turn need to lock for writing (for the class registration).

In particular, this happens with some types related to animation tree, that aren't registered at engine startup, but can happen with others, especially ones from the user. Registration statements are also added for the animation-related types that were lacking them.
2024-11-08 18:15:58 +01:00
..
config Merge pull request #98091 from AThousandShips/improve_err_prints_core 2024-10-31 20:14:36 -05:00
crypto [Core] Improve error messages with vformat 2024-10-30 15:55:51 +01:00
debugger [Core] Improve error messages with vformat 2024-10-30 15:55:51 +01:00
error Fix race conditions in breadcrumbs 2024-10-22 22:08:46 -03:00
extension Merge pull request #47502 from KoBeWi/add_0 2024-10-31 20:14:39 -05:00
input Merge pull request #98091 from AThousandShips/improve_err_prints_core 2024-10-31 20:14:36 -05:00
io [Core] Improve error messages with vformat 2024-10-30 15:55:51 +01:00
math Merge pull request #47502 from KoBeWi/add_0 2024-10-31 20:14:39 -05:00
object Fix deadlocks related to ClassDB queries about global classes 2024-11-08 18:15:58 +01:00
os [Core] Improve error messages with vformat 2024-10-30 15:55:51 +01:00
string Merge pull request #47502 from KoBeWi/add_0 2024-10-31 20:14:39 -05:00
templates Merge pull request #98652 from stuartcarnie/2d_texture_state_fixes 2024-10-29 19:25:54 -05:00
variant Merge pull request #47502 from KoBeWi/add_0 2024-10-31 20:14:39 -05:00
core_bind.compat.inc Add support for non-blocking IO mode to OS.execute_with_pipe. 2024-09-06 14:16:39 +03:00
core_bind.cpp Merge pull request #98679 from Bromeon/qol/rename-static-call 2024-10-31 20:14:44 -05:00
core_bind.h Rename ClassDB::class_call_static_method -> class_call_static 2024-10-30 19:07:28 +01:00
core_builders.py Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
core_constants.cpp Add @export_tool_button annotation for easily creating inspector buttons 2024-09-27 22:24:15 +01:00
core_constants.h Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
core_globals.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
core_globals.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
core_string_names.cpp Cleanup unused/underused singleton StringNames 2024-05-14 18:18:29 +02:00
core_string_names.h Cleanup unused/underused singleton StringNames 2024-05-14 18:18:29 +02:00
doc_data.cpp Implement typed dictionaries 2024-09-04 10:27:26 -05:00
doc_data.h Docs: Add missing deprecated/experimental tag support for theme items 2024-09-04 17:49:05 +03:00
register_core_types.cpp Add translation domain 2024-09-17 13:09:44 +08:00
register_core_types.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
SCsub SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
typedefs.h Set clang-format RemoveSemicolon rule to true 2024-10-25 13:49:43 -04:00
version.h Display the build date in the editor and when starting the engine 2024-02-27 20:39:17 +01:00