mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-19 00:46:05 +01:00
zmq::select_t, zmq_poll(): assert if FD_SETSIZE reached
Ensure that 0MQ does not attempt to call select() on more than FD_SETSIZE file descriptors.
This commit is contained in:
parent
f850190c16
commit
51a84c15de
@ -65,6 +65,10 @@ zmq::select_t::handle_t zmq::select_t::add_fd (fd_t fd_, i_poll_events *events_)
|
|||||||
fd_entry_t entry = {fd_, events_};
|
fd_entry_t entry = {fd_, events_};
|
||||||
fds.push_back (entry);
|
fds.push_back (entry);
|
||||||
|
|
||||||
|
// Ensure we do not attempt to select () on more than FD_SETSIZE
|
||||||
|
// file descriptors.
|
||||||
|
zmq_assert (fds.size () <= FD_SETSIZE);
|
||||||
|
|
||||||
// Start polling on errors.
|
// Start polling on errors.
|
||||||
FD_SET (fd_, &source_set_err);
|
FD_SET (fd_, &source_set_err);
|
||||||
|
|
||||||
|
@ -530,6 +530,10 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
|||||||
zmq::fd_t maxfd = zmq::retired_fd;
|
zmq::fd_t maxfd = zmq::retired_fd;
|
||||||
zmq::fd_t notify_fd = zmq::retired_fd;
|
zmq::fd_t notify_fd = zmq::retired_fd;
|
||||||
|
|
||||||
|
// Ensure we do not attempt to select () on more than FD_SETSIZE
|
||||||
|
// file descriptors.
|
||||||
|
zmq_assert (nitems_ <= FD_SETSIZE);
|
||||||
|
|
||||||
for (int i = 0; i != nitems_; i++) {
|
for (int i = 0; i != nitems_; i++) {
|
||||||
|
|
||||||
// 0MQ sockets.
|
// 0MQ sockets.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user