diff options
-rw-r--r-- | src/lua/lua_redis.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/lua/lua_redis.c b/src/lua/lua_redis.c index 71463d350..3d5ac3db9 100644 --- a/src/lua/lua_redis.c +++ b/src/lua/lua_redis.c @@ -1590,24 +1590,17 @@ lua_redis_exec (lua_State *L) return 0; } else { - if (false /* !ctx->d.sync */) { - lua_pushstring (L, "cannot exec commands when not connected"); + if (ctx->cmds_pending == 0 && g_queue_get_length (ctx->replies) == 0) { + lua_pushstring (L, "No pending commands to execute"); lua_error (L); - return 0; + } + if (ctx->cmds_pending == 0 && g_queue_get_length (ctx->replies) > 0) { + gint results = lua_redis_push_results (ctx, L); + return results; } else { - if (ctx->cmds_pending == 0 && g_queue_get_length (ctx->replies) == 0) { - lua_pushstring (L, "No pending commands to execute"); - lua_error (L); - } - if (ctx->cmds_pending == 0 && g_queue_get_length (ctx->replies) > 0) { - gint results = lua_redis_push_results (ctx, L); - return results; - } - else { - ctx->thread = lua_thread_pool_get_running_entry (ctx->async.cfg->lua_thread_pool); - return lua_thread_yield (ctx->thread, 0); - } + ctx->thread = lua_thread_pool_get_running_entry (ctx->async.cfg->lua_thread_pool); + return lua_thread_yield (ctx->thread, 0); } } } |