Commit da0e1922 authored by antirez's avatar antirez
Browse files

Modules API: moduleGetReplyClient() refactoring.

parent 404160a2
......@@ -1003,13 +1003,21 @@ int RM_WrongArity(RedisModuleCtx *ctx) {
* The function returns the client pointer depending on the context, or
* NULL if there is no potential client. This happens when we are in the
* context of a thread safe context that was not initialized with a blocked
* client object. */
* client object. Other contexts without associated clients are the ones
* initialized to run the timers callbacks. */
client *moduleGetReplyClient(RedisModuleCtx *ctx) {
if (!(ctx->flags & REDISMODULE_CTX_THREAD_SAFE) && ctx->client)
if (ctx->flags & REDISMODULE_CTX_THREAD_SAFE) {
if (ctx->blocked_client)
return ctx->blocked_client->reply_client;
else
return NULL;
} else {
/* If this is a non thread safe context, just return the client
* that is running the command if any. This may be NULL as well
* in the case of contexts that are not executed with associated
* clients, like timer contexts. */
return ctx->client;
if (ctx->blocked_client)
return ctx->blocked_client->reply_client;
return NULL;
}
}
/* Send an integer reply to the client, with the specified long long value.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment