]> git.saurik.com Git - redis.git/blobdiff - src/rdb.c
Changed reply buildup internals
[redis.git] / src / rdb.c
index d8de5f76790e76cc55d823bc14dfe8108a2d84fd..c15fc6f2fee086655551a4d52142d543903c7c00 100644 (file)
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -457,6 +457,7 @@ int rdbSaveBackground(char *filename) {
 
     if (server.bgsavechildpid != -1) return REDIS_ERR;
     if (server.vm_enabled) waitEmptyIOJobsQueue();
+    server.dirty_before_bgsave = server.dirty;
     if ((childpid = fork()) == 0) {
         /* Child */
         if (server.vm_enabled) vmReopenSwapFile();
@@ -913,7 +914,7 @@ void backgroundSaveDoneHandler(int statloc) {
     if (!bysignal && exitcode == 0) {
         redisLog(REDIS_NOTICE,
             "Background saving terminated with success");
-        server.dirty = 0;
+        server.dirty = server.dirty - server.dirty_before_bgsave;
         server.lastsave = time(NULL);
     } else if (!bysignal && exitcode != 0) {
         redisLog(REDIS_WARNING, "Background saving error");