X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libmemcached%2Fconnect.c;h=a43de9563a89d2017b4658a3404abc8ad534bfd8;hb=573d3bb262f51461d7ed4ba06a723a8555637bba;hp=8d0e0a9b389982372588860cefa5cddbb26f2a39;hpb=f283b947353ca50d35adad5326700df66a86c1a5;p=m6w6%2Flibmemcached diff --git a/libmemcached/connect.c b/libmemcached/connect.c index 8d0e0a9b..a43de956 100644 --- a/libmemcached/connect.c +++ b/libmemcached/connect.c @@ -316,7 +316,7 @@ static memcached_return_t network_connect(memcached_server_st *ptr) fds[0].events = POLLOUT; int timeout= ptr->root->connect_timeout; - if (ptr->root->flags.no_block == false) + if (ptr->root->flags.no_block == true) timeout= -1; size_t loop_max= 5; @@ -330,6 +330,8 @@ static memcached_return_t network_connect(memcached_server_st *ptr) loop_max= 1; break; case 0: + if (loop_max==1) + return MEMCACHED_TIMEOUT; continue; // A real error occurred and we need to completely bail default: @@ -371,7 +373,7 @@ static memcached_return_t network_connect(memcached_server_st *ptr) } #ifdef LIBMEMCACHED_WITH_SASL_SUPPORT - if (ptr->fd != -1 && ptr->root->sasl.callbacks != NULL) + if (ptr->fd != -1 && ptr->root->sasl && ptr->root->sasl->callbacks) { memcached_return rc= memcached_sasl_authenticate_connection(ptr); if (rc != MEMCACHED_SUCCESS)