From e5ea748dcf132751480b2b510b2a7b4b56150359 Mon Sep 17 00:00:00 2001 From: Yorick de Wid Date: Tue, 16 Apr 2024 10:32:11 +0200 Subject: [PATCH] FIX: Return if TCP is in STATUS_CONNECTED If the `StreamPeerTCP` is polled and the TCP connection is `STATUS_CONNECTED` it should return after polling netsocket. Without `return` poll keeps calling `_sock->connect_to_host` and `connect()`. (cherry picked from commit 61a2f5c53414eb471103a452a07228962a2d876a) --- CHANGELOG.md | 3 ++- core/io/stream_peer_tcp.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4b575b744..2618ccfd7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -218,7 +218,7 @@ branches, and linked at the [end of this file](#Past-releases). - Doc: Clarify some details about deferred calls ([GH-88961](https://github.com/godotengine/godot/pull/88961)). - [C#] Fix typo in `Color` documentation ([GH-89092](https://github.com/godotengine/godot/pull/89092)). - Address a few issues in Transform3D documentation ([GH-89147](https://github.com/godotengine/godot/pull/89147)). -- Docs: C#] Use `PropertyName` constants in more places ([GH-89246](https://github.com/godotengine/godot/pull/89246)). +- Docs: [C#] Use `PropertyName` constants in more places ([GH-89246](https://github.com/godotengine/godot/pull/89246)). - Doc: Clarify `bsearch(_custom)` behavior ([GH-89280](https://github.com/godotengine/godot/pull/89280)). - Doc: Clarify description for `get_unix_time_from_system` on UTC ([GH-89454](https://github.com/godotengine/godot/pull/89454)). - Doc: Clarify behavior of `String.format` with keys in replacements ([GH-89608](https://github.com/godotengine/godot/pull/89608)). @@ -375,6 +375,7 @@ branches, and linked at the [end of this file](#Past-releases). #### Network - enet: Sync with upstream commit c44b7d0 ([GH-90244](https://github.com/godotengine/godot/pull/90244)). +- Fix missing return in `StreamPeerTCP::poll` when connection is `STATUS_CONNECTED` ([GH-90471](https://github.com/godotengine/godot/pull/90741)). #### Particles diff --git a/core/io/stream_peer_tcp.cpp b/core/io/stream_peer_tcp.cpp index 2b9487b9e1..90a8f49a75 100644 --- a/core/io/stream_peer_tcp.cpp +++ b/core/io/stream_peer_tcp.cpp @@ -51,6 +51,7 @@ Error StreamPeerTCP::poll() { status = STATUS_ERROR; return err; } + return OK; } else if (status != STATUS_CONNECTING) { return OK; }