Problem: huge size of socket_poller_t object on Windows with select polling

Solution: use resizable_optimized_fd_set_t
This commit is contained in:
Simon Giesecke
2018-06-01 16:58:53 +02:00
parent 4a651251a7
commit 5ac900a984
3 changed files with 81 additions and 19 deletions

View File

@@ -50,6 +50,7 @@
#include "socket_base.hpp"
#include "signaler.hpp"
#include "polling_util.hpp"
namespace zmq
{
@@ -135,9 +136,9 @@ class socket_poller_t
#if defined ZMQ_POLL_BASED_ON_POLL
pollfd *_pollfds;
#elif defined ZMQ_POLL_BASED_ON_SELECT
fd_set _pollset_in;
fd_set _pollset_out;
fd_set _pollset_err;
resizable_optimized_fd_set_t _pollset_in;
resizable_optimized_fd_set_t _pollset_out;
resizable_optimized_fd_set_t _pollset_err;
zmq::fd_t _max_fd;
#endif