]> git.saurik.com Git - redis.git/blobdiff - src/aof.c
Test for empty inner range when looking for elements in range
[redis.git] / src / aof.c
index 723d845f64297a5c3b84203fac5694560e828cbc..8ce6cd12856c413feab0ae6b512378578e912b5a 100644 (file)
--- a/src/aof.c
+++ b/src/aof.c
@@ -220,8 +220,10 @@ int loadAppendOnlyFile(char *filename) {
     int appendonly = server.appendonly;
     long loops = 0;
 
-    if (redis_fstat(fileno(fp),&sb) != -1 && sb.st_size == 0)
+    if (fp && redis_fstat(fileno(fp),&sb) != -1 && sb.st_size == 0) {
+        fclose(fp);
         return REDIS_ERR;
+    }
 
     if (fp == NULL) {
         redisLog(REDIS_WARNING,"Fatal error: can't open the append log file for reading: %s",strerror(errno));
@@ -529,7 +531,10 @@ int rewriteAppendOnlyFileBackground(void) {
     pid_t childpid;
 
     if (server.bgrewritechildpid != -1) return REDIS_ERR;
-    redisAssert(server.ds_enabled == 0);
+    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;
+    }
     if ((childpid = fork()) == 0) {
         /* Child */
         char tmpfile[256];
@@ -633,7 +638,7 @@ void backgroundRewriteDoneHandler(int exitcode, int bysignal) {
     } else {
         redisLog(REDIS_WARNING,
             "Background append only file rewriting terminated by signal %d",
-            bysitnal);
+            bysignal);
     }
 cleanup:
     sdsfree(server.bgrewritebuf);