diff options
Diffstat (limited to 'rpc')
| -rw-r--r-- | rpc/rpc-transport/socket/src/socket.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index fffc137f665..3f189e3b9f6 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -2758,6 +2758,18 @@ socket_connect (rpc_transport_t *this, int port)                          goto unlock;                  } +                if (!priv->use_ssl && !priv->bio && !priv->own_thread) { +                        ret = __socket_nonblock (priv->sock); +                        if (ret == -1) { +                                gf_log (this->name, GF_LOG_ERROR, +                                        "NBIO on %d failed (%s)", +                                        priv->sock, strerror (errno)); +                                close (priv->sock); +                                priv->sock = -1; +                                goto unlock; +                        } +                } +                  ret = connect (priv->sock, SA (&this->peerinfo.sockaddr),                                 this->peerinfo.sockaddr_len);  | 
