projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
OSX fixes, make memcapable a test.
[m6w6/libmemcached]
/
libmemcached
/
connect.cc
diff --git
a/libmemcached/connect.cc
b/libmemcached/connect.cc
index ecff63865c5904a4213e5c53e866b61acb9d07f2..7044306e6908cfe864fedb4835084c170a2900c0 100644
(file)
--- a/
libmemcached/connect.cc
+++ b/
libmemcached/connect.cc
@@
-515,11
+515,20
@@
static memcached_return_t network_connect(memcached_server_st *ptr)
struct timeval next_time;
if (gettimeofday(&next_time, NULL) == 0)
struct timeval next_time;
if (gettimeofday(&next_time, NULL) == 0)
+ {
ptr->next_retry= next_time.tv_sec + ptr->root->retry_timeout;
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_TIMEOUT, MEMCACHED_AT);
+ }
return memcached_set_error(*ptr, MEMCACHED_CONNECTION_FAILURE, MEMCACHED_AT); /* The last error should be from connect() */
}
return memcached_set_error(*ptr, MEMCACHED_CONNECTION_FAILURE, MEMCACHED_AT); /* The last error should be from connect() */
}