projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merge in code such that we are much closer to running the same test
[awesomized/libmemcached]
/
libmemcached
/
connect.cc
diff --git
a/libmemcached/connect.cc
b/libmemcached/connect.cc
index 707f7344387af9fbe1661387294d1de7c01a6a94..5e6c77f568a44b07c2dcc68ecb4e9163a2eee5fa 100644
(file)
--- a/
libmemcached/connect.cc
+++ b/
libmemcached/connect.cc
@@
-49,18
+49,14
@@
static memcached_return_t connect_poll(memcached_server_st *ptr)
size_t loop_max= 5;
size_t loop_max= 5;
- while (--loop_max) // Should only loop on cases of ERESTART or EINTR
+ if (ptr->root->poll_timeout == 0)
{
{
- int error;
- if (ptr->root->poll_timeout)
- {
- error= poll(fds, 1, ptr->root->connect_timeout);
- }
- else
- {
- error= 0;
- }
+ return memcached_set_error(*ptr, MEMCACHED_TIMEOUT, MEMCACHED_AT);
+ }
+ while (--loop_max) // Should only loop on cases of ERESTART or EINTR
+ {
+ int error= poll(fds, 1, ptr->root->connect_timeout);
switch (error)
{
case 1:
switch (error)
{
case 1:
@@
-112,6
+108,7
@@
static memcached_return_t connect_poll(memcached_server_st *ptr)
ptr->cached_errno= get_socket_errno();
}
ptr->cached_errno= get_socket_errno();
}
+ WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
ptr->state= MEMCACHED_SERVER_STATE_NEW;
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
ptr->state= MEMCACHED_SERVER_STATE_NEW;
@@
-127,7
+124,7
@@
static memcached_return_t connect_poll(memcached_server_st *ptr)
static memcached_return_t set_hostinfo(memcached_server_st *server)
{
static memcached_return_t set_hostinfo(memcached_server_st *server)
{
-
assert(!
server->address_info); // We cover the case where a programming mistake has been made.
+
WATCHPOINT_ASSERT(not
server->address_info); // We cover the case where a programming mistake has been made.
if (server->address_info)
{
freeaddrinfo(server->address_info);
if (server->address_info)
{
freeaddrinfo(server->address_info);
@@
-178,7
+175,7
@@
static memcached_return_t set_hostinfo(memcached_server_st *server)
default:
{
WATCHPOINT_STRING(server->hostname);
default:
{
WATCHPOINT_STRING(server->hostname);
- WATCHPOINT_STRING(gai_strerror(e));
+ WATCHPOINT_STRING(gai_strerror(e
rrcode
));
return memcached_set_error(*server, MEMCACHED_HOST_LOOKUP_FAILURE, MEMCACHED_AT, memcached_string_make_from_cstr(gai_strerror(errcode)));
}
}
return memcached_set_error(*server, MEMCACHED_HOST_LOOKUP_FAILURE, MEMCACHED_AT, memcached_string_make_from_cstr(gai_strerror(errcode)));
}
}
@@
-482,15
+479,16
@@
static memcached_return_t network_connect(memcached_server_st *ptr)
break;
case EINTR: // Special case, we retry ai_addr
break;
case EINTR: // Special case, we retry ai_addr
+ WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
- ptr->state= MEMCACHED_SERVER_STATE_NEW;
continue;
default:
break;
}
continue;
default:
break;
}
+ WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
ptr->address_info_next= ptr->address_info_next->ai_next;
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
ptr->address_info_next= ptr->address_info_next->ai_next;
@@
-592,11
+590,12
@@
memcached_return_t memcached_connect(memcached_server_write_instance_st ptr)
case MEMCACHED_CONNECTION_TCP:
rc= network_connect(ptr);
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
case MEMCACHED_CONNECTION_TCP:
rc= network_connect(ptr);
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
- if (ptr->fd != INVALID_SOCKET
&&
ptr->root->sasl.callbacks)
+ if (ptr->fd != INVALID_SOCKET
and
ptr->root->sasl.callbacks)
{
rc= memcached_sasl_authenticate_connection(ptr);
{
rc= memcached_sasl_authenticate_connection(ptr);
- if (memcached_failed(rc))
+ if (memcached_failed(rc)
and ptr->fd != INVALID_SOCKET
)
{
{
+ WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
}
(void)closesocket(ptr->fd);
ptr->fd= INVALID_SOCKET;
}