From 3a4afb0473044e9e6a9817859d2c2e7355519226 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 12 Jul 2011 10:03:22 +0200 Subject: [PATCH] Manual merge after cherry-pick --- src/redis.c | 4 ++-- src/redis.h | 2 +- src/vm.c | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/redis.c b/src/redis.c index 955aa196..c99c5694 100644 --- a/src/redis.c +++ b/src/redis.c @@ -706,7 +706,7 @@ void beforeSleep(struct aeEventLoop *eventLoop) { readQueryFromClient, c); cmd = lookupCommand(c->argv[0]->ptr); redisAssert(cmd != NULL); - call(c,cmd); + call(c); resetClient(c); /* There may be more data to process in the input buffer. */ if (c->querybuf && sdslen(c->querybuf) > 0) @@ -1106,7 +1106,7 @@ int processCommand(redisClient *c) { addReply(c,shared.queued); } else { if (server.vm_enabled && server.vm_max_threads > 0 && - blockClientOnSwappedKeys(c,cmd)) return REDIS_ERR; + blockClientOnSwappedKeys(c)) return REDIS_ERR; call(c); } return REDIS_OK; diff --git a/src/redis.h b/src/redis.h index 1022c317..14cdf897 100644 --- a/src/redis.h +++ b/src/redis.h @@ -853,7 +853,7 @@ void vmReopenSwapFile(void); int vmFreePage(off_t page); void zunionInterBlockClientOnSwappedKeys(redisClient *c, struct redisCommand *cmd, int argc, robj **argv); void execBlockClientOnSwappedKeys(redisClient *c, struct redisCommand *cmd, int argc, robj **argv); -int blockClientOnSwappedKeys(redisClient *c, struct redisCommand *cmd); +int blockClientOnSwappedKeys(redisClient *c); int dontWaitForSwappedKey(redisClient *c, robj *key); void handleClientsBlockedOnSwappedKey(redisDb *db, robj *key); vmpointer *vmSwapObjectBlocking(robj *val); diff --git a/src/vm.c b/src/vm.c index a46fed7d..3111cfcd 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1074,11 +1074,11 @@ void execBlockClientOnSwappedKeys(redisClient *c, struct redisCommand *cmd, int * * Return 1 if the client is marked as blocked, 0 if the client can * continue as the keys it is going to access appear to be in memory. */ -int blockClientOnSwappedKeys(redisClient *c, struct redisCommand *cmd) { - if (cmd->vm_preload_proc != NULL) { - cmd->vm_preload_proc(c,cmd,c->argc,c->argv); +int blockClientOnSwappedKeys(redisClient *c) { + if (c->cmd->vm_preload_proc != NULL) { + c->cmd->vm_preload_proc(c,c->cmd,c->argc,c->argv); } else { - waitForMultipleSwappedKeys(c,cmd,c->argc,c->argv); + waitForMultipleSwappedKeys(c,c->cmd,c->argc,c->argv); } /* If the client was blocked for at least one key, mark it as blocked. */