Fixes server goes into infinite loop on Solaris when poll_err is not set.

Server goes into infinite loop when poll_err is not set.

Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
This commit is contained in:
Harshavardhana 2009-04-02 02:50:33 -07:00 committed by Anand V. Avati
parent cda677a98d
commit 3acfb27587

View File

@ -963,7 +963,8 @@ __tcp_rwv (transport_t *this, struct iovec *vector, int count,
if (ret == 0)
{
gf_log (this->xl->name, GF_LOG_ERROR, "EOF from peer");
gf_log (this->xl->name, GF_LOG_DEBUG,
"EOF from peer %s", this->peerinfo.identifier);
opcount = -1;
errno = ENOTCONN;
break;
@ -2012,7 +2013,7 @@ ib_verbs_event_handler (int fd, int idx, void *data,
ret = ib_verbs_handshake_pollin (this);
}
if (poll_err) {
if (ret < 0 || poll_err) {
ret = ib_verbs_handshake_pollerr (this);
}