diff --git a/async.c b/async.c index 5c11243..6cece18 100644 --- a/async.c +++ b/async.c @@ -96,6 +96,11 @@ int redisAsyncSetReplyObjectFunctions(redisAsyncContext *ac, redisReplyObjectFun int redisAsyncSetConnectCallback(redisAsyncContext *ac, redisConnectCallback *fn) { if (ac->onConnect == NULL) { ac->onConnect = fn; + + /* The common way to detect an established connection is to wait for + * the first write event to be fired. This assumes the related event + * library functions are already set. */ + if (ac->evAddWrite) ac->evAddWrite(ac->_adapter_data); return REDIS_OK; } return REDIS_ERR;