Permalink
Browse files

Return from syncWithMaster() ASAP if the event fired but the instance…

… is no longer a slave. This should fix Issue #145.
  • Loading branch information...
1 parent 6856c7b commit 76e772f39a971e14e9c8cd077b68ad8ed8cc7f97 @antirez committed Oct 18, 2011
Showing with 7 additions and 0 deletions.
  1. +7 −0 src/replication.c
View
@@ -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

0 comments on commit 76e772f

Please sign in to comment.