diff options
-rw-r--r-- | async.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -246,15 +246,15 @@ void redisProcessCallbacks(redisAsyncContext *ac) { assert(__redisShiftCallback(&ac->replies,&cb) == REDIS_OK); if (cb.fn != NULL) { cb.fn(ac,reply,cb.privdata); + + /* Proceed with free'ing when redisAsyncFree() was called. */ + if (c->flags & REDIS_FREEING) { + __redisAsyncFree(ac); + return; + } } else { c->fn->freeObject(reply); } - - /* Proceed with free'ing when redisAsyncFree() was called. */ - if (c->flags & REDIS_FREEING) { - __redisAsyncFree(ac); - return; - } } /* Disconnect when there was an error reading the reply */ |