diff --git a/async.c b/async.c index d7feba3..8b00563 100644 --- a/async.c +++ b/async.c @@ -444,6 +444,13 @@ void __redisAsyncDisconnect(redisAsyncContext *ac) { * callbacks with a NULL-reply. */ if (!(c->flags & REDIS_NO_AUTO_FREE)) { __redisAsyncFree(ac); + } else { + if (c->flags & REDIS_CONNECTED) { + __redisRunDisconnectCallback(ac, ac->err == 0 ? REDIS_OK : REDIS_ERR); + } + if (ac->dataCleanup) { + ac->dataCleanup(ac->data); + } } }