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 | |
| 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>
| -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 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);          }  | 
