diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lua/lua_redis.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lua/lua_redis.c b/src/lua/lua_redis.c index d3eaa300a..5b2ba0062 100644 --- a/src/lua/lua_redis.c +++ b/src/lua/lua_redis.c @@ -480,6 +480,8 @@ lua_redis_push_results (struct lua_redis_ctx *ctx, lua_State *L) static void lua_redis_cleanup_events (struct lua_redis_ctx *ctx) { + REDIS_RETAIN (ctx); /* To avoid preliminary destruction */ + while (!g_queue_is_empty (ctx->events_cleanup)) { struct lua_redis_result *result = g_queue_pop_head (ctx->events_cleanup); @@ -488,6 +490,8 @@ lua_redis_cleanup_events (struct lua_redis_ctx *ctx) g_free (result); } + + REDIS_RELEASE (ctx); } /** |