From 63dcf9b741b5b1f7eebbcefab47b755a3fc0a9e2 Mon Sep 17 00:00:00 2001 From: Blake Matheny Date: Tue, 24 May 2011 12:59:02 -0400 Subject: Make sure subscribe is still respected --- async.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/async.c b/async.c index b085096..cd49d3c 100644 --- a/async.c +++ b/async.c @@ -362,12 +362,12 @@ void redisProcessCallbacks(redisAsyncContext *ac) { * get a reply before pub/sub messages arrive. */ if (__redisShiftCallback(&ac->replies,&cb) != REDIS_OK) { // error reply before any callbacks were setup - if ( ((redisReply*)reply)->type == REDIS_REPLY_ERROR ) { - c->err = REDIS_ERR_OTHER; - err_len = strlen(((redisReply*)reply)->str); - err_len = err_len < (sizeof(c->errstr)-1) ? err_len : (sizeof(c->errstr)-1); - memcpy(c->errstr, ((redisReply*)reply)->str, err_len); - c->errstr[err_len] = '\0'; + if ( !(c->flags & REDIS_SUBSCRIBED) && ((redisReply*)reply)->type == REDIS_REPLY_ERROR ) { + c->err = REDIS_ERR_OTHER; + err_len = strlen(((redisReply*)reply)->str); + err_len = err_len < (sizeof(c->errstr)-1) ? err_len : (sizeof(c->errstr)-1); + memcpy(c->errstr, ((redisReply*)reply)->str, err_len); + c->errstr[err_len] = '\0'; __redisAsyncDisconnect(ac); return; } -- cgit v1.2.3