X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_server.c;h=1ee60101a8d32f07937ffdae1d9b04ebcf765210;hb=602bbb27fded3a710a631b98ed0bbcad2154782c;hp=6dff69408571b4c0f459b60241621878709b584c;hpb=8a5081c5ed9c33b1d6d5f070ba97b2b21b7a0da8;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_server.c b/libmemcached/memcached_server.c index 6dff6940..1ee60101 100644 --- a/libmemcached/memcached_server.c +++ b/libmemcached/memcached_server.c @@ -27,6 +27,18 @@ 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); + + rc= memcached_io_close(ptr); + WATCHPOINT_ASSERT(rc == MEMCACHED_SUCCESS); + + 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)