+ return;
+
+error:
+ server.replstate = REDIS_REPL_CONNECT;
+ close(fd);
+ return;
+}
+
+int connectWithMaster(void) {
+ int fd;
+
+ fd = anetTcpNonBlockConnect(NULL,server.masterhost,server.masterport);
+ if (fd == -1) {
+ redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s",
+ strerror(errno));
+ return REDIS_ERR;
+ }
+
+ if (aeCreateFileEvent(server.el,fd,AE_READABLE|AE_WRITABLE,
+ syncWithMaster,NULL) == AE_ERR)
+ {
+ close(fd);
+ redisLog(REDIS_WARNING,"Can't create readable event for SYNC");
+ return REDIS_ERR;
+ }
+
+ server.repl_transfer_s = fd;
+ server.replstate = REDIS_REPL_CONNECTING;