Fix crash on server stop

Commit amended to initialize listening variable by Adam Honse <calcprogrammer1@gmail.com>
This commit is contained in:
morg 2021-02-09 14:44:08 +01:00 committed by Adam Honse
parent 300e2b526b
commit 79dacbaeb0
3 changed files with 87 additions and 9 deletions

View file

@ -16,6 +16,8 @@
#pragma once
#define TCP_TIMEOUT_SECONDS 5
typedef void (*NetServerCallback)(void *);
struct NetworkClientInfo
@ -35,6 +37,7 @@ public:
unsigned short GetPort();
bool GetOnline();
bool GetListening();
unsigned int GetNumClients();
const char * GetClientString(unsigned int client_num);
const char * GetClientIP(unsigned int client_num);
@ -44,6 +47,9 @@ public:
void DeviceListChanged();
void RegisterClientInfoChangeCallback(NetServerCallback, void * new_callback_arg);
void ServerListeningChanged();
void RegisterServerListeningChangeCallback(NetServerCallback, void * new_callback_arg);
void SetPort(unsigned short new_port);
void StartServer();
@ -65,6 +71,7 @@ public:
protected:
unsigned short port_num;
bool server_online;
bool server_listening;
std::vector<RGBController *>& controllers;
@ -76,6 +83,10 @@ protected:
std::vector<NetServerCallback> ClientInfoChangeCallbacks;
std::vector<void *> ClientInfoChangeCallbackArgs;
std::mutex ServerListeningChangeMutex;
std::vector<NetServerCallback> ServerListeningChangeCallbacks;
std::vector<void *> ServerListeningChangeCallbackArgs;
private:
#ifdef WIN32
WSADATA wsa;