projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Fix warning around in scanner.
[awesomized/libmemcached]
/
libmemcached
/
instance.cc
diff --git
a/libmemcached/instance.cc
b/libmemcached/instance.cc
index 01c514f1f3155cd4f777f87e3bf23e4d11d96a18..41f491e8ef2d0e01f8af73dff0227ca7ef73b9fc 100644
(file)
--- a/
libmemcached/instance.cc
+++ b/
libmemcached/instance.cc
@@
-44,7
+44,6
@@
static inline void _server_init(org::libmemcached::Instance* self, memcached_st
{
self->options.is_shutting_down= false;
self->options.is_dead= false;
{
self->options.is_shutting_down= false;
self->options.is_dead= false;
- self->number_of_hosts= 0;
self->cursor_active_= 0;
self->port_= port;
self->fd= INVALID_SOCKET;
self->cursor_active_= 0;
self->port_= port;
self->fd= INVALID_SOCKET;
@@
-155,6
+154,7
@@
void __instance_free(org::libmemcached::Instance* self)
self->address_info= NULL;
self->address_info_next= NULL;
}
self->address_info= NULL;
self->address_info_next= NULL;
}
+ assert(self->address_info_next == NULL);
memcached_error_free(*self);
memcached_error_free(*self);
@@
-308,23
+308,26
@@
static org::libmemcached::Instance* memcached_instance_clone(org::libmemcached::
void set_last_disconnected_host(org::libmemcached::Instance* self)
{
assert(self->root);
void set_last_disconnected_host(org::libmemcached::Instance* self)
{
assert(self->root);
- if (self->root
== NULL
)
+ if (self->root)
{
{
- return;
- }
+ if (memcached_server_get_last_disconnect(self->root) and
+ memcached_server_get_last_disconnect(self->root)->version == self->version)
+ {
+ return;
+ }
- if (memcached_server_get_last_disconnect(self->root) and
- memcached_server_get_last_disconnect(self->root)->version == self->version)
- {
- return;
- }
+ // const_cast
+ memcached_st *root= (memcached_st *)self->root;
+
+ memcached_instance_free((org::libmemcached::Instance*)(root->last_disconnected_server));
- // const_cast
- memcached_st *root= (memcached_st *)self->root;
+ // We set is_parsing so that no lookup happens
+ root->state.is_parsing= true;
+ root->last_disconnected_server= memcached_instance_clone(self);
+ root->state.is_parsing= false;
- memcached_instance_free((org::libmemcached::Instance*)(root->last_disconnected_server));
- root->last_disconnected_server= memcached_instance_clone(self);
- ((org::libmemcached::Instance*)memcached_server_get_last_disconnect(root))->version= self->version;
+ ((org::libmemcached::Instance*)memcached_server_get_last_disconnect(root))->version= self->version;
+ }
}
memcached_server_instance_st memcached_server_get_last_disconnect(const memcached_st *self)
}
memcached_server_instance_st memcached_server_get_last_disconnect(const memcached_st *self)
@@
-338,17
+341,6
@@
memcached_server_instance_st memcached_server_get_last_disconnect(const memcache
return (memcached_server_instance_st)self->last_disconnected_server;
}
return (memcached_server_instance_st)self->last_disconnected_server;
}
-uint32_t memcached_instance_set_count(org::libmemcached::Instance* servers, uint32_t count)
-{
- WATCHPOINT_ASSERT(servers);
- if (servers == NULL)
- {
- return 0;
- }
-
- return servers->number_of_hosts= count;
-}
-
const char *memcached_instance_name(const memcached_server_instance_st self)
{
WATCHPOINT_ASSERT(self);
const char *memcached_instance_name(const memcached_server_instance_st self)
{
WATCHPOINT_ASSERT(self);