Silently ignore the new stats fields
[awesomized/libmemcached] / libmemcached / memcached_quit.c
index 14eca73d2cfc154d3452fce11c3da2df42a4a76b..80b9314ac593a2350c28ae925579d42b13566fac 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;
@@ -26,7 +26,8 @@ void memcached_quit_server(memcached_server_st *ptr, uint8_t io_death)
         request.message.header.request.opcode = PROTOCOL_BINARY_CMD_QUIT;
         request.message.header.request.datatype = PROTOCOL_BINARY_RAW_BYTES;
         rc= memcached_do(ptr, request.bytes, sizeof(request.bytes), 1);
-      } else 
+      }
+      else
         rc= memcached_do(ptr, "quit\r\n", 6, 1);
 
       WATCHPOINT_ASSERT(rc == MEMCACHED_SUCCESS || rc == MEMCACHED_FETCH_NOTFINISHED);
@@ -43,7 +44,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);