godot/core
Fabio Alessandrelli 811ea6ad64
[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.

(cherry picked from commit aca5540e13)
2021-08-03 14:33:42 +02:00
..
bind Fix thread start with no user data when target has no default argument 2021-08-03 09:33:25 +02:00
crypto [Crypto] Delete mbedtls ctx in deconstructor. 2021-07-06 11:10:47 +02:00
io [Net] Fix IP address resolution incorrectly locking the main thread. 2021-08-03 14:33:42 +02:00
math Astar::get_available_point_id Start from 0 2021-08-03 08:45:27 +02:00
os Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
array.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
array.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
bitfield_dynamic.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
bitfield_dynamic.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
class_db.cpp Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
class_db.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
color_names.inc Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
color.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
color.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
command_queue_mt.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
command_queue_mt.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
compressed_translation.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
compressed_translation.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
core_builders.py SCons: Generate header with info on which modules are enabled 2021-07-14 23:09:47 +02:00
core_string_names.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
core_string_names.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
cowdata.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
dictionary.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
dictionary.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
engine.cpp Add Engine.print_error_messages property to disable printing errors 2021-07-20 13:58:07 +03:00
engine.h Add Engine.print_error_messages property to disable printing errors 2021-07-20 13:58:07 +03:00
error_list.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
error_macros.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
error_macros.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
func_ref.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
func_ref.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
global_constants.cpp Fix game controllers ignoring the last listed button 2021-06-03 15:45:05 +01:00
global_constants.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
hash_map.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
hashfuncs.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
image.cpp Fixes 50428, added missing checks for image lock 2021-07-14 21:49:23 +05:30
image.h Validate image formats, check if resize_to_po2 failed 2021-06-29 14:02:23 +02:00
input_map.cpp Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
input_map.h Allow checking for exact matches with Action events. 2021-07-30 15:35:39 +02:00
int_types.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
list.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
local_vector.h LocalVector: Don't error if from >= count 2021-07-06 11:10:44 +02:00
make_binders.py SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
map.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
message_queue.cpp Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
message_queue.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
method_bind.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
method_bind.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
method_ptrcall.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
node_path.cpp Optimize NodePath update when renaming or deleting nodes in the editor 2021-07-09 11:43:05 -07:00
node_path.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
oa_hash_map.h Style: Enforce use of bool literals instead of integers 2021-05-04 16:39:13 +02:00
object_id.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
object_rc.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
object.cpp Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
object.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
ordered_hash_map.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
packed_data_container.cpp Merge pull request #48355 from MaxStgs/3.x 2021-05-05 15:22:40 +02:00
packed_data_container.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
paged_allocator.h Replace QuickHull with Bullet's convex hull computer. 2021-05-22 08:16:43 +02:00
pair.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
path_remap.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
path_remap.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
pool_allocator.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
pool_allocator.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
pool_vector.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
pool_vector.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
pooled_list.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
print_string.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
print_string.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
project_settings.cpp [3.x] Allow reading shaders from .gdshader files 2021-07-19 23:34:23 -04:00
project_settings.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
ref_ptr.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
ref_ptr.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
reference.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
reference.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
register_core_types.cpp Backport HMac crypto to 3.x 2021-05-20 13:29:38 +03:00
register_core_types.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
resource.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
resource.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
rid.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
rid.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
ring_buffer.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
safe_refcount.cpp Improve robustness of atomics 2021-02-19 11:48:30 +01:00
safe_refcount.h Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
script_debugger_local.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
script_debugger_local.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
script_language.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
script_language.h Highlight control flow keywords with a different color 2021-05-25 00:31:39 +02:00
SCsub Fixed build with SCRIPT_AES256_ENCRYPTION_KEY set 2021-05-14 15:15:25 +02:00
self_list.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
set.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
simple_type.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
sort_array.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_buffer.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_builder.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_builder.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
string_name.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_name.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
translation.cpp Fix missing locale names 2021-07-20 13:05:13 +02:00
translation.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
type_info.h Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
typedefs.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
ucaps.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
undo_redo.cpp Fix UndoRedo crash when clearing history 2021-07-24 00:51:42 +02:00
undo_redo.h Extend UndoRedo handling of Resource to every Reference 2021-05-09 09:29:45 +02:00
ustring.cpp String::format leave passed values untouched 2021-07-13 10:20:03 +02:00
ustring.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
variant_call.cpp Added signed_angle_to for Vector3 2021-07-09 12:49:12 +02:00
variant_op.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
variant_parser.cpp Fix Variant tags parsing. 2021-07-06 11:24:06 +02:00
variant_parser.h VariantParser: Fix uninitialized ResourceParser funcs 2021-08-03 09:33:25 +02:00
variant.cpp Fix json dump and print of circular structure 2021-06-17 12:47:53 +02:00
variant.h [Net] Fix Marshalls infinite recursion crash. 2021-08-03 09:33:24 +02:00
vector.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
version.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
vmap.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
vset.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00