From 94a50302cc1667d311418a8d9d21dd78a75564c7 Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Thu, 27 Nov 2025 17:38:51 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20socket=20deadlock?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esp32/include/communication/comm_base.hpp | 6 +++--- esp32/include/communication/websocket_adapter.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/esp32/include/communication/comm_base.hpp b/esp32/include/communication/comm_base.hpp index cafd346..b1ed5b0 100644 --- a/esp32/include/communication/comm_base.hpp +++ b/esp32/include/communication/comm_base.hpp @@ -38,15 +38,15 @@ class CommAdapterBase { array.add(event); array.add(payload); - // TODO: Only send to subscribed - #if USE_MSGPACK std::string bin; serializeMsgPack(doc, bin); - send(reinterpret_cast(bin.data()), bin.size(), -1); // TODO: Make CID dynamic + xSemaphoreGive(mutex_); + send(reinterpret_cast(bin.data()), bin.size(), -1); #else String out; serializeJson(doc, out); + xSemaphoreGive(mutex_); send(out.c_str(), -1); #endif } diff --git a/esp32/include/communication/websocket_adapter.h b/esp32/include/communication/websocket_adapter.h index 60355f6..5215140 100644 --- a/esp32/include/communication/websocket_adapter.h +++ b/esp32/include/communication/websocket_adapter.h @@ -11,7 +11,7 @@ #include -class Websocket : CommAdapterBase { +class Websocket : public CommAdapterBase { public: Websocket(httpd_handle_t *server, const char *route = "/api/ws");