virtualx-engine/core/object
Pedro J. Estébanez 28619e26cf ResourceLoader: Enhance deadlock prevention
Benefits:
- Simpler code. The main load function is renamed so it's apparent that it's not just a thread entry point anymore.
- Cache and thread modes of the original task are honored. A beautiful consequence of this is that, unlike formerly, re-issued loads can use the resource cache, which makes this mechanism much more performant.
- The newly added getter for caller task id in WorkerThreadPool allows to remove the custom tracking of that in ResourceLoader.
- The check to replace a cached resource and the replacement itself happen atomically. That fixes deadlock prevention leading to multiple resource instances of the same one on disk. As a side effect, it also makes the regular check for replace load mode more robust.
2024-08-21 12:19:43 +02:00
..
callable_method_pointer.cpp Avoid sorting CallableCustomMethodPointers by their actual address values 2023-06-20 08:40:01 -04:00
callable_method_pointer.h Merge pull request #89270 from Repiteo/enforce-typename-in-templates 2024-03-14 22:34:37 +01:00
class_db.cpp Merge pull request #93942 from MikeSchulze/73525 2024-07-11 09:41:09 +02:00
class_db.h Merge pull request #93942 from MikeSchulze/73525 2024-07-11 09:41:09 +02:00
make_virtuals.py SCons: Remove run_in_subprocess dependency 2024-03-11 13:20:09 -05:00
message_queue.cpp WorkerThreadPool: Fix thread message queue not restored after overridden in a task 2024-06-13 10:31:08 +02:00
message_queue.h Avoid editor error reporting using resource loader thread's call queues 2024-05-31 09:42:37 +02:00
method_bind.cpp Fix method hashes with default arguments 2023-09-21 12:39:04 -05:00
method_bind.h Reduce and prevent unnecessary random-access to List 2024-05-04 16:08:55 +02:00
object.compat.inc Fix some DEFVALs to use the right type 2024-02-23 01:50:18 +01:00
object.cpp Avoid potential crash on signal disconnection 2024-08-19 12:18:04 +02:00
object.h GDExtension: provide free_property_list_func with length of array 2024-04-27 14:13:17 +02:00
object_id.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
ref_counted.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
ref_counted.h Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
script_instance.cpp Add methods to get argument count of methods 2024-03-10 11:02:43 +01:00
script_instance.h Add methods to get argument count of methods 2024-03-10 11:02:43 +01:00
script_language.cpp Fix global class cache file not present when no class name 2024-07-31 16:57:25 -04:00
script_language.h Fix global class cache file not present when no class name 2024-07-31 16:57:25 -04:00
script_language_extension.cpp Fix virtual binding for ScriptLanguageExtension::_reload_scripts 2024-08-17 21:09:32 -07:00
script_language_extension.h Make profiling_get_frame_data call the correct GDVIRTUAL method. 2024-06-18 00:53:25 +02:00
SCsub SCons: Convert remaining run_in_subprocess to env.Run 2024-03-10 14:01:23 -05:00
undo_redo.cpp Revert "Fix method name for custom callable" 2024-06-11 11:02:03 +02:00
undo_redo.h Fixed MERGE_ALL commit from repeating actions 2024-03-05 23:40:26 +00:00
worker_thread_pool.cpp ResourceLoader: Enhance deadlock prevention 2024-08-21 12:19:43 +02:00
worker_thread_pool.h ResourceLoader: Enhance deadlock prevention 2024-08-21 12:19:43 +02:00