diff options
author | Harshavardhana <harsha@zresearch.com> | 2009-04-02 02:50:33 -0700 |
---|---|---|
committer | Anand V. Avati <avati@amp.gluster.com> | 2009-04-02 18:11:21 +0530 |
commit | 3acfb275879fb8392f8cb4ea2a58766afbc42baa (patch) | |
tree | 85cbea3c59e234868ac483e69b93b5ed90395ceb /transport/ib-verbs | |
parent | cda677a98d039de6381887422d0b482ed412daaf (diff) |
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>
Diffstat (limited to 'transport/ib-verbs')
-rw-r--r-- | transport/ib-verbs/src/ib-verbs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/transport/ib-verbs/src/ib-verbs.c b/transport/ib-verbs/src/ib-verbs.c index 9a21b8a8f..5f133bd55 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); } |