godot/core/io
Fabio Alessandrelli aca5540e13 [Net] Fix IP address resolution incorrectly locking the main thread.
This seems to be a pretty old bug, older then originally reported (at
least under certain circumstances).

The IP singleton uses a resolve queue so developers can queue hostnames
for resolution in a separate while keeping the main thread unlocked
(address-resolution OS functions are blocking, and could block for a long
time in case of network disruption).

In most places though, the address resolution function was called with
the mutex locked, causing other functions (querying status, queueing
another hostname, ecc) to block until that resolution ended.

This commit ensures that all calls to OS address resolution are done
with the mutex unlocked.
2021-08-03 00:24:22 +02:00
..
compression.cpp Fix decompression with FastLZ when buffer size is less than 16 bytes 2021-07-13 16:34:45 +08:00
compression.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
config_file.cpp Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
config_file.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
dir_access.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
dir_access.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
dtls_server.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
dtls_server.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
file_access.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_compressed.cpp Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
file_access_compressed.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_encrypted.cpp FileAccess: Don't err in store_buffer with buffer of size 0 2021-06-07 18:34:00 +02:00
file_access_encrypted.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_memory.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_memory.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_network.cpp Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
file_access_network.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_pack.cpp Merge pull request #48889 from Calinou/file-rename-endian-swap 2021-06-03 15:19:07 +02:00
file_access_pack.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_zip.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
file_access_zip.h Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
http_client.cpp Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
http_client.h [Net] Makes HTTPClient a custom instance class. 2021-06-23 14:10:45 +02:00
http_client_tcp.cpp Fix unicode invalid skip error in AssetLib 2021-07-11 12:14:08 +08:00
http_client_tcp.h [Net] Makes HTTPClient a custom instance class. 2021-06-23 14:10:45 +02:00
image.cpp Validate image formats, check if resize_to_po2 failed 2021-06-28 21:17:06 +02:00
image.h Validate image formats, check if resize_to_po2 failed 2021-06-28 21:17:06 +02:00
image_loader.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
image_loader.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
ip.cpp [Net] Fix IP address resolution incorrectly locking the main thread. 2021-08-03 00:24:22 +02:00
ip.h Support multiple address resolution in DNS requests 2021-06-01 11:24:34 +07:00
ip_address.cpp Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
ip_address.h Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
json.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
json.h Consolidate JSON, JSONParseResults and JSONParser into JSON 2021-06-19 08:01:40 +01:00
logger.cpp Merge pull request #49123 from aaronfranke/it-is-time 2021-06-12 22:55:25 +02:00
logger.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
marshalls.cpp [Marshalls] Fix Float64Array and Int64Array serialization. 2021-08-02 13:35:33 +02:00
marshalls.h [Net] Fix Marshalls infinite recursion crash. 2021-07-30 16:13:43 +02:00
multiplayer_api.cpp [Net] Fix RPC ID encoding/decoding for Node methods. 2021-07-29 00:00:30 +02:00
multiplayer_api.h [Net] Single rpc annotation. "sync" no longer part of mode. 2021-07-20 11:17:59 +02:00
multiplayer_peer.cpp [Net] Add generate_unique_id to MultiplayerPeer. 2021-07-29 10:40:03 +02:00
multiplayer_peer.h [Net] Add generate_unique_id to MultiplayerPeer. 2021-07-29 10:40:03 +02:00
net_socket.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
net_socket.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
packed_data_container.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
packed_data_container.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
packet_peer.cpp Add PROPERTY_USAGE_NONE and use it 2021-06-17 19:10:26 -04:00
packet_peer.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
packet_peer_dtls.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
packet_peer_dtls.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packet_peer_udp.cpp Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
packet_peer_udp.h Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
pck_packer.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
pck_packer.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
resource.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
resource.h Implement Resource UIDs 2021-07-24 09:16:52 -03:00
resource_format_binary.cpp Fix various typos 2021-07-25 07:18:25 -04:00
resource_format_binary.h Implement Resource UIDs 2021-07-24 09:16:52 -03:00
resource_importer.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
resource_importer.h Implement Resource UIDs 2021-07-24 09:16:52 -03:00
resource_loader.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
resource_loader.h Fix various typos with codespell 2021-07-25 11:21:51 +02:00
resource_saver.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
resource_saver.h Implement Resource UIDs 2021-07-24 09:16:52 -03:00
resource_uid.cpp ResourceUID: Fix remove_id binding 2021-07-25 11:55:56 +02:00
resource_uid.h Implement Resource UIDs 2021-07-24 09:16:52 -03:00
SCsub SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
stream_peer.cpp Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
stream_peer.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
stream_peer_ssl.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
stream_peer_ssl.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
stream_peer_tcp.cpp Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
stream_peer_tcp.h Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
tcp_server.cpp Network port comparison is always false 2021-06-30 02:39:17 -07:00
tcp_server.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
translation_loader_po.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
translation_loader_po.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
udp_server.cpp Network port comparison is always false 2021-06-30 02:39:17 -07:00
udp_server.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
xml_parser.cpp Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
xml_parser.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
zip_io.cpp Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
zip_io.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00