mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-09 23:36:04 +00:00
Deadlock on zmq_close
This commit is contained in:
parent
9f49594273
commit
82012667cc
@ -78,10 +78,13 @@ uint64_t zmq::fd_signaler_t::poll ()
|
|||||||
ssize_t sz;
|
ssize_t sz;
|
||||||
while (true) {
|
while (true) {
|
||||||
sz = read (fd, &signals, sizeof (uint64_t));
|
sz = read (fd, &signals, sizeof (uint64_t));
|
||||||
if (sz == 0 || (errno != EAGAIN && errno != EINTR))
|
if (sz == -1) {
|
||||||
break;
|
if (errno == EAGAIN || errno == EINTR)
|
||||||
|
continue;
|
||||||
|
zmq_assert (false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
errno_assert (sz != -1);
|
|
||||||
|
|
||||||
// Set to non-blocking mode.
|
// Set to non-blocking mode.
|
||||||
rc = fcntl (fd, F_SETFL, flags | O_NONBLOCK);
|
rc = fcntl (fd, F_SETFL, flags | O_NONBLOCK);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user