projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
memcached_io_reset should disconnect from the server without trying to send a quit...
[m6w6/libmemcached]
/
libmemcached
/
memcached_connect.c
diff --git
a/libmemcached/memcached_connect.c
b/libmemcached/memcached_connect.c
index 429e8ec66f581488efbefa920181e31efcea05bb..12f4affd9ed6f31469689a23c8f55780a193ed82 100644
(file)
--- a/
libmemcached/memcached_connect.c
+++ b/
libmemcached/memcached_connect.c
@@
-238,18
+238,12
@@
test_connect:
{
goto handle_retry;
}
{
goto handle_retry;
}
- else if (error != 1
||
fds[0].revents & POLLERR)
+ else if (error != 1
&&
fds[0].revents & POLLERR)
{
ptr->cached_errno= errno;
WATCHPOINT_ERRNO(ptr->cached_errno);
WATCHPOINT_NUMBER(ptr->root->connect_timeout);
{
ptr->cached_errno= errno;
WATCHPOINT_ERRNO(ptr->cached_errno);
WATCHPOINT_NUMBER(ptr->root->connect_timeout);
- close(ptr->fd);
- ptr->fd= -1;
- if (ptr->address_info)
- {
- freeaddrinfo(ptr->address_info);
- ptr->address_info= NULL;
- }
+ memcached_quit_server(ptr, 1);
if (ptr->root->retry_timeout)
{
if (ptr->root->retry_timeout)
{
@@
-259,6
+253,7
@@
test_connect:
ptr->next_retry= next_time.tv_sec + ptr->root->retry_timeout;
}
ptr->server_failure_counter+= 1;
ptr->next_retry= next_time.tv_sec + ptr->root->retry_timeout;
}
ptr->server_failure_counter+= 1;
+
return MEMCACHED_ERRNO;
}
return MEMCACHED_ERRNO;
}