diff --git a/src/aof.c b/src/aof.c index 15a456f9d..0d2aab8bd 100644 --- a/src/aof.c +++ b/src/aof.c @@ -44,7 +44,6 @@ void stopAppendOnly(void) { /* Called when the user switches from "appendonly no" to "appendonly yes" * at runtime using the CONFIG command. */ int startAppendOnly(void) { - server.appendonly = 1; server.lastfsync = time(NULL); server.appendfd = open(server.appendfilename,O_WRONLY|O_APPEND|O_CREAT,0644); if (server.appendfd == -1) { @@ -52,13 +51,13 @@ int startAppendOnly(void) { return REDIS_ERR; } if (rewriteAppendOnlyFileBackground() == REDIS_ERR) { - server.appendonly = 0; close(server.appendfd); redisLog(REDIS_WARNING,"Redis needs to enable the AOF but can't trigger a background AOF rewrite operation. Check the above logs for more info about the error."); return REDIS_ERR; } /* We correctly switched on AOF, now wait for the rerwite to be complete * in order to append data on disk. */ + server.appendonly = 1; server.aof_wait_rewrite = 1; return REDIS_OK; }