OSX fixes, make memcapable a test.
[m6w6/libmemcached] / libmemcached / connect.cc
index ecff63865c5904a4213e5c53e866b61acb9d07f2..7044306e6908cfe864fedb4835084c170a2900c0 100644 (file)
@@ -515,11 +515,20 @@ static memcached_return_t network_connect(memcached_server_st *ptr)
     struct timeval next_time;
 
     if (gettimeofday(&next_time, NULL) == 0)
+    {
       ptr->next_retry= next_time.tv_sec + ptr->root->retry_timeout;
+    }
+  }
+  
+  if (memcached_has_current_error(*ptr))
+  {
+    return memcached_server_error_return(ptr);
   }
 
-  if (timeout_error_occured)
+  if (timeout_error_occured and ptr->state < MEMCACHED_SERVER_STATE_IN_PROGRESS)
+  {
     return memcached_set_error(*ptr, MEMCACHED_TIMEOUT, MEMCACHED_AT);
+  }
 
   return memcached_set_error(*ptr, MEMCACHED_CONNECTION_FAILURE, MEMCACHED_AT); /* The last error should be from connect() */
 }