mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-09 15:26:04 +00:00
zmq_poll returns ETERM in case of context termination
This commit is contained in:
parent
3236cb1a54
commit
7668e7976d
@ -117,9 +117,6 @@ The requested socket 'type' is invalid.
|
||||
The number of application threads using sockets within this 'context' has been
|
||||
exceeded. See the 'app_threads' parameter of the _zmq_init()_ function.
|
||||
|
||||
*ETERM*::
|
||||
The associated context was terminted.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
11
src/zmq.cpp
11
src/zmq.cpp
@ -408,7 +408,11 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
||||
|
||||
// Process 0MQ commands if needed.
|
||||
if (nsockets && pollfds [npollfds -1].revents & POLLIN)
|
||||
app_thread->process_commands (false, false);
|
||||
if (!app_thread->process_commands (false, false)) {
|
||||
free (pollfds);
|
||||
errno = ETERM;
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Check for the events.
|
||||
int pollfd_pos = 0;
|
||||
@ -560,7 +564,10 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
||||
|
||||
// Process 0MQ commands if needed.
|
||||
if (nsockets && FD_ISSET (notify_fd, &inset))
|
||||
app_thread->process_commands (false, false);
|
||||
if (!app_thread->process_commands (false, false)) {
|
||||
errno = ETERM;
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Check for the events.
|
||||
for (int i = 0; i != nitems_; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user