Fix to the previous fix for issue #145, make sure to return only after the event was unregistered.

This commit is contained in:
antirez 2011-10-18 17:12:16 +02:00
parent 1270a13667
commit b6fe152b83

View File

@ -376,6 +376,12 @@ void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
REDIS_NOTUSED(privdata); REDIS_NOTUSED(privdata);
REDIS_NOTUSED(mask); REDIS_NOTUSED(mask);
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
* function is called, so we can delete it. */
aeDeleteFileEvent(server.el,fd,AE_READABLE|AE_WRITABLE);
/* If this event fired after the user turned the instance into a master /* If this event fired after the user turned the instance into a master
* with SLAVEOF NO ONE we must just return ASAP. */ * with SLAVEOF NO ONE we must just return ASAP. */
if (server.replstate == REDIS_REPL_NONE) { if (server.replstate == REDIS_REPL_NONE) {
@ -383,12 +389,6 @@ void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
return; 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
* function is called, so we can delete it. */
aeDeleteFileEvent(server.el,fd,AE_READABLE|AE_WRITABLE);
/* AUTH with the master if required. */ /* AUTH with the master if required. */
if(server.masterauth) { if(server.masterauth) {
char authcmd[1024]; char authcmd[1024];