udp support in fire and forget mode for all ops but get/gets, stat and version
[awesomized/libmemcached] / libmemcached / memcached_quit.c
index 14eca73d2cfc154d3452fce11c3da2df42a4a76b..592bde9f90f04a363a79119ed613c90279587f69 100644 (file)
@@ -13,7 +13,7 @@ void memcached_quit_server(memcached_server_st *ptr, uint8_t io_death)
 {
   if (ptr->fd != -1)
   {
-    if (io_death == 0)
+    if (io_death == 0 && ptr->type != MEMCACHED_CONNECTION_UDP)
     {
       memcached_return rc;
       ssize_t read_length;
@@ -43,7 +43,7 @@ void memcached_quit_server(memcached_server_st *ptr, uint8_t io_death)
     memcached_io_close(ptr);
 
     ptr->fd= -1;
-    ptr->write_buffer_offset= 0;
+    ptr->write_buffer_offset= (ptr->type == MEMCACHED_CONNECTION_UDP) ? UDP_DATAGRAM_HEADER_LENGTH : 0 ;
     ptr->read_buffer_length= 0;
     ptr->read_ptr= ptr->read_buffer;
     memcached_server_response_reset(ptr);