On EINPROGRESS, we need to also check for read events (because openBSD lies)

“It is possible to select(2) or poll(2) for completion by selecting the
socket for writing”

Yeah, sure, “writing”…
This commit is contained in:
louiz’
2016-10-12 21:00:05 +02:00
parent 5f2e4820df
commit 827a1eedf8
+2 -1
View File
@@ -186,7 +186,8 @@ int Poller::poll(const std::chrono::milliseconds& timeout)
socket_handler->on_send(); socket_handler->on_send();
nb_events--; nb_events--;
} }
else if (this->fds[i].revents & POLLOUT) else if (this->fds[i].revents & POLLOUT ||
this->fds[i].revents & POLLIN)
{ {
socket_handler->connect(); socket_handler->connect();
nb_events--; nb_events--;