projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Adding Changelog date
[m6w6/libmemcached]
/
libmemcached
/
memcached_hosts.c
diff --git
a/libmemcached/memcached_hosts.c
b/libmemcached/memcached_hosts.c
index c62c3b41984402665b324b097f3717ef930a1a01..76fd5a014430ef5cd84291746dfab33d10e75bd9 100644
(file)
--- a/
libmemcached/memcached_hosts.c
+++ b/
libmemcached/memcached_hosts.c
@@
-49,6
+49,15
@@
static int compare_servers(const void *p1, const void *p2)
return return_value;
}
return return_value;
}
+void sort_hosts(memcached_st *ptr)
+{
+ if (ptr->number_of_hosts)
+ {
+ qsort(ptr->hosts, ptr->number_of_hosts, sizeof(memcached_server_st), compare_servers);
+ ptr->hosts[0].count= ptr->number_of_hosts;
+ }
+}
+
static void host_reset(memcached_st *ptr, memcached_server_st *host,
char *hostname, unsigned int port,
memcached_connection type)
static void host_reset(memcached_st *ptr, memcached_server_st *host,
char *hostname, unsigned int port,
memcached_connection type)
@@
-116,8
+125,8
@@
memcached_return memcached_server_push(memcached_st *ptr, memcached_server_st *l
}
ptr->hosts[0].count= ptr->number_of_hosts;
}
ptr->hosts[0].count= ptr->number_of_hosts;
- if (ptr->
number_of_hosts > 1
)
-
qsort(ptr->hosts, ptr->number_of_hosts, sizeof(memcached_server_st), compare_servers
);
+ if (ptr->
flags & MEM_USE_SORT_HOSTS
)
+
sort_hosts(ptr
);
rebalance_wheel(ptr);
rebalance_wheel(ptr);
@@
-179,10
+188,11
@@
static memcached_return server_add(memcached_st *ptr, char *hostname,
host_reset(ptr, &ptr->hosts[ptr->number_of_hosts], hostname, port, type);
ptr->number_of_hosts++;
host_reset(ptr, &ptr->hosts[ptr->number_of_hosts], hostname, port, type);
ptr->number_of_hosts++;
- ptr->hosts[0].count++;
- if (ptr->number_of_hosts > 1)
- qsort(ptr->hosts, ptr->number_of_hosts, sizeof(memcached_server_st), compare_servers);
+ if (ptr->flags & MEM_USE_SORT_HOSTS)
+ sort_hosts(ptr);
+
+ ptr->hosts[0].count= ptr->number_of_hosts;
rebalance_wheel(ptr);
rebalance_wheel(ptr);
@@
-221,16
+231,8
@@
memcached_server_st *memcached_server_list_append(memcached_server_st *ptr,
host_reset(NULL, &new_host_list[count-1], hostname, port, MEMCACHED_CONNECTION_TCP);
/* Backwards compatibility hack */
host_reset(NULL, &new_host_list[count-1], hostname, port, MEMCACHED_CONNECTION_TCP);
/* Backwards compatibility hack */
- new_host_list[0].count++;
-
- count= new_host_list[0].count;
-
- if (new_host_list[0].count > 1)
- qsort(new_host_list, count, sizeof(memcached_server_st), compare_servers);
-
new_host_list[0].count= count;
new_host_list[0].count= count;
-
*error= MEMCACHED_SUCCESS;
return new_host_list;
}
*error= MEMCACHED_SUCCESS;
return new_host_list;
}