From 3acfb275879fb8392f8cb4ea2a58766afbc42baa Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 2 Apr 2009 02:50:33 -0700 Subject: 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 --- transport/ib-verbs/src/ib-verbs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'transport') diff --git a/transport/ib-verbs/src/ib-verbs.c b/transport/ib-verbs/src/ib-verbs.c index 9a21b8a8f6d..5f133bd558b 100644 --- a/transport/ib-verbs/src/ib-verbs.c +++ b/transport/ib-verbs/src/ib-verbs.c @@ -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); } -- cgit