Move RGBController base destructor functionality into RGBController::Shutdown() so that update thread can be stopped before deleting the controller. Shutdown() must be called in every RGBController implementation before deleting the controller. Also some fixes to the NetworkServer to avoid deadlocking and disconnect issues

This commit is contained in:
Adam Honse
2026-02-02 17:10:37 -06:00
parent f592b48696
commit ba1b68ee8a
331 changed files with 790 additions and 37 deletions

View File

@@ -87,6 +87,11 @@ RGBController_Nanoleaf::RGBController_Nanoleaf(std::string a_address, int a_port
SetupZones();
}
RGBController_Nanoleaf::~RGBController_Nanoleaf()
{
Shutdown();
}
void RGBController_Nanoleaf::SetupZones()
{
zone led_zone;

View File

@@ -19,6 +19,7 @@ class RGBController_Nanoleaf : public RGBController
public:
RGBController_Nanoleaf(std::string a_address, int a_port, std::string a_auth_token);
~RGBController_Nanoleaf();
void SetupZones();