Skip to content

Commit

Permalink
Merge pull request #909 from pennam/close-fix
Browse files Browse the repository at this point in the history
Fix Socket Close Hangs Indefinitely When There Is No Connectivity
  • Loading branch information
pennam authored Jun 28, 2024
2 parents e707506 + 5b31770 commit 508d85e
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
1 change: 1 addition & 0 deletions libraries/SocketWrapper/src/MbedClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ void arduino::MbedClient::stop() {
if (_own_socket) {
delete sock;
} else {
sock->set_timeout(_timeout);
sock->close();
}
sock = nullptr;
Expand Down
24 changes: 24 additions & 0 deletions patches/0230-TLSSocketWrapper-do-not-force-close-to-block.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From d0f5c17e3f7a3094c80b6b239c407f1cf7ba6df9 Mon Sep 17 00:00:00 2001
From: pennam <m.pennasilico@arduino.cc>
Date: Thu, 27 Jun 2024 13:36:31 +0200
Subject: [PATCH] TLSSocketWrapper: do not force close() to block

---
connectivity/netsocket/source/TLSSocketWrapper.cpp | 1 -
1 file changed, 1 deletion(-)

diff --git a/connectivity/netsocket/source/TLSSocketWrapper.cpp b/connectivity/netsocket/source/TLSSocketWrapper.cpp
index 1fb9c21769..c020cd9f59 100644
--- a/connectivity/netsocket/source/TLSSocketWrapper.cpp
+++ b/connectivity/netsocket/source/TLSSocketWrapper.cpp
@@ -757,7 +757,6 @@ nsapi_error_t TLSSocketWrapper::close()

int ret = 0;
if (_handshake_completed) {
- _transport->set_blocking(true);
ret = mbedtls_ssl_close_notify(&_ssl);
if (ret) {
print_mbedtls_error("mbedtls_ssl_close_notify", ret);
--
2.43.0

0 comments on commit 508d85e

Please sign in to comment.