Return from syncWithMaster() ASAP if the event fired but the instance is no longer a slave. This should fix Issue #145.

This commit is contained in:
antirez 2011-10-18 11:09:32 +02:00
parent 6856c7b4d6
commit 76e772f39a

View File

@ -376,6 +376,13 @@ void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
REDIS_NOTUSED(privdata);
REDIS_NOTUSED(mask);
/* If this event fired after the user turned the instance into a master
* with SLAVEOF NO ONE we must just return ASAP. */
if (server.replstate == REDIS_REPL_NONE) {
close(fd);
return;
}
redisLog(REDIS_NOTICE,"Non blocking connect for SYNC fired the event.");
/* This event should only be triggered once since it is used to have a
* non-blocking connect(2) to the master. It has been triggered when this