]> git.saurik.com Git - redis.git/blobdiff - src/replication.c
Return from syncWithMaster() ASAP if the event fired but the instance is no longer...
[redis.git] / src / replication.c
index 8090a27a5faf319f31b12ae81c10eed32d26d4b3..13a1927a581547e6cf636050ff1fa58bbfbcaf98 100644 (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