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
SCsub Fixed build with SCRIPT_AES256_ENCRYPTION_KEY set 2021-05-14 15:15:25 +02:00
array.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
array.h
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
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
color_names.inc 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
core_string_names.h
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
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
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
global_constants.cpp Fix game controllers ignoring the last listed button 2021-06-03 15:45:05 +01:00
global_constants.h
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
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
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
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
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
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
object_id.h
object_rc.h
ordered_hash_map.h
packed_data_container.cpp Merge pull request #48355 from MaxStgs/3.x 2021-05-05 15:22:40 +02:00
packed_data_container.h
paged_allocator.h Replace QuickHull with Bullet's convex hull computer. 2021-05-22 08:16:43 +02:00
pair.h
path_remap.cpp
path_remap.h
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
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
project_settings.cpp [3.x] Allow reading shaders from .gdshader files 2021-07-19 23:34:23 -04:00
project_settings.h
ref_ptr.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
ref_ptr.h
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
resource.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
resource.h
rid.cpp
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
safe_refcount.h
script_debugger_local.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
script_debugger_local.h
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
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
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
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
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
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.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
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
vector.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
version.h
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