diff --git a/ixwebsocket/IXWebSocketServer.cpp b/ixwebsocket/IXWebSocketServer.cpp index 9d455dae..ea00dbbc 100644 --- a/ixwebsocket/IXWebSocketServer.cpp +++ b/ixwebsocket/IXWebSocketServer.cpp @@ -114,7 +114,7 @@ namespace ix continue; } - _workers.push_back(std::thread(&WebSocketServer::handleConnection, this, clientFd)); + _workers[clientFd] = std::thread(&WebSocketServer::handleConnection, this, clientFd); } } diff --git a/ixwebsocket/IXWebSocketServer.h b/ixwebsocket/IXWebSocketServer.h index d562e443..a118f52e 100644 --- a/ixwebsocket/IXWebSocketServer.h +++ b/ixwebsocket/IXWebSocketServer.h @@ -8,7 +8,7 @@ #include // pair #include -#include +#include #include #include @@ -39,7 +39,6 @@ namespace ix // socket for accepting connections int _serverFd; - // FIXME: we never reclaim space in this array ... - std::vector _workers; + std::map _workers; }; }