From 5ea4b5b74b66b8c2fca4bc313660aaf28312af79 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 20 Feb 2026 18:20:34 -0600 Subject: [PATCH] Improve comments explaining why explicit close() is unnecessary before delete --- esphome/components/api/api_server.h | 3 ++- esphome/components/captive_portal/dns_server_esp32_idf.h | 3 ++- esphome/components/esphome/ota/ota_esphome.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/esphome/components/api/api_server.h b/esphome/components/api/api_server.h index e1a4f2591d..fed29016b3 100644 --- a/esphome/components/api/api_server.h +++ b/esphome/components/api/api_server.h @@ -249,7 +249,8 @@ class APIServer : public Component, void add_state_subscription_(std::string entity_id, optional attribute, std::function f, bool once); #endif // USE_API_HOMEASSISTANT_STATES - // Socket destructor will close or abort depending on platform + // No explicit close() needed — listen sockets have no active connections on + // failure/shutdown. Destructor handles fd cleanup (close or abort per platform). inline void destroy_socket_() { delete this->socket_; this->socket_ = nullptr; diff --git a/esphome/components/captive_portal/dns_server_esp32_idf.h b/esphome/components/captive_portal/dns_server_esp32_idf.h index 4cff804c4f..f8e4cfec84 100644 --- a/esphome/components/captive_portal/dns_server_esp32_idf.h +++ b/esphome/components/captive_portal/dns_server_esp32_idf.h @@ -14,7 +14,8 @@ class DNSServer { void process_next_request(); protected: - // Socket destructor will close or abort depending on platform + // No explicit close() needed — listen sockets have no active connections on + // failure/shutdown. Destructor handles fd cleanup (close or abort per platform). inline void destroy_socket_() { delete this->socket_; this->socket_ = nullptr; diff --git a/esphome/components/esphome/ota/ota_esphome.cpp b/esphome/components/esphome/ota/ota_esphome.cpp index 479bf02f69..a1cdf59d2b 100644 --- a/esphome/components/esphome/ota/ota_esphome.cpp +++ b/esphome/components/esphome/ota/ota_esphome.cpp @@ -452,7 +452,8 @@ void ESPHomeOTAComponent::log_remote_closed_(const LogString *during) { void ESPHomeOTAComponent::server_failed_(const LogString *msg) { this->log_socket_error_(msg); - // Socket destructor will close or abort depending on platform + // No explicit close() needed — listen sockets have no active connections on + // failure/shutdown. Destructor handles fd cleanup (close or abort per platform). delete this->server_; this->server_ = nullptr; this->mark_failed();