virtualx-engine/core/io
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
..
compression.cpp [Core] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-11 19:45:49 +02:00
compression.h
config_file.cpp Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
config_file.h Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
dir_access.cpp Merge pull request #90069 from KoBeWi/file_suicide_prevention_measures 2024-06-21 16:49:26 +02:00
dir_access.h Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
dtls_server.cpp
dtls_server.h
file_access.cpp Revert "Fix FileSystem dock won't show any file folders" 2024-06-11 11:46:35 +02:00
file_access.h [FileAccess] Implement resize method. 2024-04-12 19:20:49 +03:00
file_access_compressed.cpp [FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows. 2023-08-08 21:51:32 +03:00
file_access_compressed.h [FileAccess] Implement resize method. 2024-04-12 19:20:49 +03:00
file_access_encrypted.cpp [FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows. 2023-08-08 21:51:32 +03:00
file_access_encrypted.h [FileAccess] Implement resize method. 2024-04-12 19:20:49 +03:00
file_access_memory.cpp Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
file_access_memory.h [FileAccess] Implement resize method. 2024-04-12 19:20:49 +03:00
file_access_pack.cpp Fix use-after-free in FileAccess::exists 2024-08-09 03:33:51 +02:00
file_access_pack.h [FileAccess] Implement resize method. 2024-04-12 19:20:49 +03:00
file_access_zip.cpp [Core] Use unztell64 in FileAccessZIP to ensure 64 bit return 2024-04-26 11:49:54 +02:00
file_access_zip.h [FileAccess] Implement resize method. 2024-04-12 19:20:49 +03:00
http_client.cpp Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
http_client.h
http_client_tcp.cpp [TLS] Fix crashes trying to use TLS when not available. 2023-05-12 20:08:10 +02:00
http_client_tcp.h
image.cpp Merge pull request #91535 from BlueCube3310/betsy-bc6h 2024-08-21 06:38:03 +02:00
image.h Merge pull request #91535 from BlueCube3310/betsy-bc6h 2024-08-21 06:38:03 +02:00
image_loader.cpp Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
image_loader.h Add 'override' mark to ResourceFormat class 2024-03-25 04:06:34 +08:00
ip.cpp Reduce and prevent unnecessary random-access to List 2024-05-04 16:08:55 +02:00
ip.h Display BitField[Enum] in docs to distinguish from Enum 2023-06-15 17:23:02 +03:00
ip_address.cpp Replace find with contains/has where applicable 2024-05-08 12:37:42 +02:00
ip_address.h
json.cpp Rename internal is_ascii_char to is_ascii_alphabet_char 2024-04-20 02:36:41 -07:00
json.h Add 'override' mark to ResourceFormat class 2024-03-25 04:06:34 +08:00
logger.cpp Fix UTF-8 misintepreted as Latin-1 when logging to file 2024-07-07 02:46:41 +08:00
logger.h Strip ANSI escape codes from file logging 2024-04-24 01:02:47 +02:00
marshalls.cpp [Core] Fix TypedArray encoding when full objects is disabled 2024-07-18 09:58:17 +02:00
marshalls.h
missing_resource.cpp
missing_resource.h
net_socket.cpp
net_socket.h Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
packed_data_container.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
packed_data_container.h
packet_peer.cpp Promote CowData to 64 bits 2024-01-19 17:41:10 +01:00
packet_peer.h Extract ScriptInstance to simplify includes 2023-09-06 22:54:38 +02:00
packet_peer_dtls.cpp
packet_peer_dtls.h
packet_peer_udp.cpp Fix a couple GCC 14 -Wmaybe-uninitialized warnings 2024-07-09 16:12:22 +02:00
packet_peer_udp.h Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
pck_packer.cpp Remove nondeterminism in pck_packer 2023-09-03 18:14:30 -04:00
pck_packer.h
plist.cpp [macOS/iOS export] Add option to set custom Info.plist data. 2024-01-11 21:05:35 +02:00
plist.h [macOS/iOS export] Add option to set custom Info.plist data. 2024-01-11 21:05:35 +02:00
remote_filesystem_client.cpp Fix various typos with codespell 2023-08-07 13:09:47 +02:00
remote_filesystem_client.h Fix GCC -Wmaybe-uninitialized warnings 2023-08-14 14:35:35 +02:00
resource.cpp Re-add resource thread-safety measures 2024-07-15 12:15:22 +02:00
resource.h Speed up inspector updates for TileMap 2024-03-07 18:01:30 +01:00
resource_format_binary.cpp GDScript: Enhance handling of cyclic dependencies 2024-06-26 17:44:32 +02:00
resource_format_binary.h Add 'override' mark to ResourceFormat class 2024-03-25 04:06:34 +08:00
resource_importer.cpp Merge pull request #92320 from Hilderin/fix-importing-assets-with-csv 2024-06-21 13:54:35 +02:00
resource_importer.h Revert "Fix FileSystem dock won't show any file folders" 2024-06-11 11:46:35 +02:00
resource_loader.cpp ResourceLoader: Enhance deadlock prevention 2024-08-21 12:19:43 +02:00
resource_loader.h ResourceLoader: Enhance deadlock prevention 2024-08-21 12:19:43 +02:00
resource_saver.cpp Fix import and saving related crashes 2024-04-22 12:13:19 +02:00
resource_saver.h Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
resource_uid.cpp Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs 2024-03-06 12:14:21 -05:00
resource_uid.h Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs 2024-03-06 12:14:21 -05:00
SCsub
stream_peer.cpp
stream_peer.h Extract ScriptInstance to simplify includes 2023-09-06 22:54:38 +02:00
stream_peer_gzip.cpp add check for negative buffer_size inside start_(de)compression method. 2024-03-08 17:49:48 +03:00
stream_peer_gzip.h
stream_peer_tcp.cpp FIX: Return if TCP is in STATUS_CONNECTED 2024-04-16 10:32:11 +02:00
stream_peer_tcp.h
stream_peer_tls.cpp
stream_peer_tls.h
tcp_server.cpp
tcp_server.h
translation_loader_po.cpp
translation_loader_po.h Add 'override' mark to ResourceFormat class 2024-03-25 04:06:34 +08:00
udp_server.cpp Reduce and prevent unnecessary random-access to List 2024-05-04 16:08:55 +02:00
udp_server.h
xml_parser.cpp Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
xml_parser.h Display BitField[Enum] in docs to distinguish from Enum 2023-06-15 17:23:02 +03:00
zip_io.cpp Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
zip_io.h Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00