]> git.saurik.com Git - redis.git/blobdiff - src/aof.c
Wait for Lua to be built before linking redis-server
[redis.git] / src / aof.c
index 030972699445f5187694f017e932117b975b1d5f..b43f99f5e8e5f47cd7ec0e9454c8233606ff6a60 100644 (file)
--- a/src/aof.c
+++ b/src/aof.c
@@ -287,6 +287,8 @@ int loadAppendOnlyFile(char *filename) {
 
         /* The fake client should not have a reply */
         redisAssert(fakeClient->bufpos == 0 && listLength(fakeClient->reply) == 0);
+        /* The fake client should never get blocked */
+        redisAssert((fakeClient->flags & REDIS_BLOCKED) == 0);
 
         /* Clean up. Command code may have changed argv/argc so we use the
          * argv/argc of the client instead of the local variables. */
@@ -342,7 +344,7 @@ int rewriteAppendOnlyFile(char *filename) {
         redisDb *db = server.db+j;
         dict *d = db->dict;
         if (dictSize(d) == 0) continue;
-        di = dictGetIterator(d);
+        di = dictGetSafeIterator(d);
         if (!di) {
             fclose(fp);
             return REDIS_ERR;
@@ -574,10 +576,6 @@ int rewriteAppendOnlyFileBackground(void) {
     long long start;
 
     if (server.bgrewritechildpid != -1) return REDIS_ERR;
-    if (server.ds_enabled != 0) {
-        redisLog(REDIS_WARNING,"BGREWRITEAOF called with diskstore enabled: AOF is not supported when diskstore is enabled. Operation not performed.");
-        return REDIS_ERR;
-    }
     start = ustime();
     if ((childpid = fork()) == 0) {
         char tmpfile[256];