mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-14 09:47:56 +08:00
pass through poller events
instead of allocating a new, identical array and copying the data. This is only safe while zmq_poller_event_t and zmq::socket_poller_t::event_t are the same struct, which they presumably will remain.
This commit is contained in:
parent
06aeb47d73
commit
ec750732d4
10
src/zmq.cpp
10
src/zmq.cpp
@ -1243,16 +1243,8 @@ int zmq_poller_wait_all (void *poller_, zmq_poller_event_t *events, int n_events
|
||||
}
|
||||
|
||||
zmq_assert (events != NULL);
|
||||
zmq::socket_poller_t::event_t evts[n_events];
|
||||
|
||||
int rc = ((zmq::socket_poller_t*)poller_)->wait (evts, n_events, timeout_);
|
||||
|
||||
for(int i = 0; i < n_events; ++i) {
|
||||
events[i].socket = evts[i].socket;
|
||||
events[i].fd = evts[i].fd;
|
||||
events[i].user_data = evts[i].user_data;
|
||||
events[i].events = evts[i].events;
|
||||
}
|
||||
int rc = ((zmq::socket_poller_t*)poller_)->wait ((zmq::socket_poller_t::event_t *)events, n_events, timeout_);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user