X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_server.c;h=c836cfa297f9de48b241d5f1e5d91a7f763e1d64;hb=1d57c8e96aae2ce17306f36141e68b506ef01799;hp=6dff69408571b4c0f459b60241621878709b584c;hpb=8a5081c5ed9c33b1d6d5f070ba97b2b21b7a0da8;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_server.c b/libmemcached/memcached_server.c index 6dff6940..c836cfa2 100644 --- a/libmemcached/memcached_server.c +++ b/libmemcached/memcached_server.c @@ -27,6 +27,17 @@ memcached_server_st *memcached_server_create(memcached_st *memc, memcached_serve void memcached_server_free(memcached_server_st *ptr) { + memcached_return rc; + WATCHPOINT_ASSERT(ptr->is_allocated != MEMCACHED_NOT_ALLOCATED); + + memcached_quit_server(ptr, 0); + + if (ptr->address_info) + { + freeaddrinfo(ptr->address_info); + ptr->address_info= NULL; + } + if (ptr->is_allocated == MEMCACHED_ALLOCATED) { if (ptr->root && ptr->root->call_free) @@ -63,7 +74,7 @@ memcached_server_st *memcached_server_clone(memcached_server_st *clone, memcache new_clone->root= ptr->root; host_reset(new_clone->root, new_clone, - ptr->hostname, ptr->port, + ptr->hostname, ptr->port, ptr->weight, ptr->type); return new_clone;