memcached_io_reset should disconnect from the server without trying to send a quit...
authorTrond Norbye <trond.norbye@sun.com>
Mon, 15 Dec 2008 21:53:54 +0000 (22:53 +0100)
committerTrond Norbye <trond.norbye@sun.com>
Mon, 15 Dec 2008 21:53:54 +0000 (22:53 +0100)
memcached_response should not call memcached_io_reset when it receives EXISTS

Thanks to Robey Pointer for providing a patch.

libmemcached/memcached_io.c
libmemcached/memcached_response.c

index 2431ac744b24f1353b03da2433113b2e3748da24..6f8528933f27258179c96f7e8a2e47ee976ee035 100644 (file)
@@ -384,5 +384,5 @@ static ssize_t io_flush(memcached_server_st *ptr,
 */
 void memcached_io_reset(memcached_server_st *ptr)
 {
-  memcached_quit_server(ptr, 0);
+  memcached_quit_server(ptr, 1);
 }
index 764dbdf0c61a62ea2cde6587337111c273151f3e..3a071c1481e36474258fee43e48e5f4a40a5ab0b 100644 (file)
@@ -72,7 +72,7 @@ memcached_return memcached_response(memcached_server_st *ptr,
       if (total_length >= buffer_length)
       {
         memcached_io_reset(ptr);
-        return MEMCACHED_PROTOCOL_ERROR;
+        return MEMCACHED_UNKNOWN_READ_FAILURE;
       }
     }
     buffer_ptr++;
@@ -154,7 +154,6 @@ memcached_return memcached_response(memcached_server_st *ptr,
       }
       else if (buffer[1] == 'X')
       {
-        memcached_io_reset(ptr);
         return MEMCACHED_DATA_EXISTS;
       }
       else