summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2011-09-28 01:04:43 -0700
committerdormando <dormando@rydia.net>2011-09-28 01:04:43 -0700
commitcff1f1403a1e575955993854ea087bc83ec6ebaf (patch)
tree0eee63e5da0a961976739548f1dce3930f15239b
parentd5c7aae768c685c9e83da3f6e17b5f7e866853bf (diff)
downloadmemcached-cff1f1403a1e575955993854ea087bc83ec6ebaf.tar.gz
port bin_get fixes to bin_touch
without setting write_and_go, multiple commands in one packet weren't always being processed.
-rw-r--r--memcached.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/memcached.c b/memcached.c
index 6debce8..95a0124 100644
--- a/memcached.c
+++ b/memcached.c
@@ -1239,6 +1239,7 @@ static void process_bin_touch(conn *c) {
}
conn_set_state(c, conn_mwrite);
+ c->write_and_go = conn_new_cmd;
/* Remember this command so we can garbage collect it later */
c->item = it;
} else {
@@ -1259,6 +1260,7 @@ static void process_bin_touch(conn *c) {
memcpy(ofs, key, nkey);
add_iov(c, ofs, nkey);
conn_set_state(c, conn_mwrite);
+ c->write_and_go = conn_new_cmd;
} else {
write_bin_error(c, PROTOCOL_BINARY_RESPONSE_KEY_ENOENT, 0);
}