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 committed 2026-05-07 17:24:45 -05:00
1 parent d05fe1bdf1
commit 70f79e97b4
332 files changed
+792 -37

No files matched your search

@@ -238,6 +238,8 @@ RGBController_HyperXAlloyElite2::RGBController_HyperXAlloyElite2(HyperXAlloyElit
RGBController_HyperXAlloyElite2::~RGBController_HyperXAlloyElite2()
{
Shutdown();
keepalive_thread_run = false;
keepalive_thread->join();
delete keepalive_thread;
@@ -251,6 +251,8 @@ RGBController_HyperXAlloyElite::RGBController_HyperXAlloyElite(HyperXAlloyEliteC
RGBController_HyperXAlloyElite::~RGBController_HyperXAlloyElite()
{
Shutdown();
keepalive_thread_run = false;
keepalive_thread->join();
delete keepalive_thread;
@@ -192,6 +192,8 @@ RGBController_HyperXAlloyFPS::RGBController_HyperXAlloyFPS(HyperXAlloyFPSControl
RGBController_HyperXAlloyFPS::~RGBController_HyperXAlloyFPS()
{
Shutdown();
keepalive_thread_run = false;
keepalive_thread->join();
delete keepalive_thread;
@@ -245,6 +245,8 @@ RGBController_HyperXAlloyOrigins60and65::RGBController_HyperXAlloyOrigins60and65
RGBController_HyperXAlloyOrigins60and65::~RGBController_HyperXAlloyOrigins60and65()
{
Shutdown();
keepalive_thread_run = 0;
keepalive_thread->join();
delete keepalive_thread;
@@ -213,6 +213,8 @@ RGBController_HyperXAlloyOrigins::RGBController_HyperXAlloyOrigins(HyperXAlloyOr
RGBController_HyperXAlloyOrigins::~RGBController_HyperXAlloyOrigins()
{
Shutdown();
keepalive_thread_run = 0;
keepalive_thread->join();
delete keepalive_thread;
@@ -128,6 +128,8 @@ RGBController_HyperXAlloyOriginsCore::RGBController_HyperXAlloyOriginsCore(Hyper
RGBController_HyperXAlloyOriginsCore::~RGBController_HyperXAlloyOriginsCore()
{
Shutdown();
keepalive_thread_run = 0;
keepalive_thread->join();
delete keepalive_thread;
@@ -153,6 +153,8 @@ RGBController_HyperXOrigins2_65::RGBController_HyperXOrigins2_65(HyperXOrigins2_
RGBController_HyperXOrigins2_65::~RGBController_HyperXOrigins2_65()
{
Shutdown();
keepalive_thread_run = 0;
keepalive_thread->join();
delete keepalive_thread;