]> git.saurik.com Git - redis.git/blobdiff - src/rdb.c
top level make clean also clean hiredis and linoise (deps)
[redis.git] / src / rdb.c
index b8e24ab6d701181345fe68a02b4337630fd5daa9..589b536af5f466b106bb60f4d85c1d5d93652730 100644 (file)
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -461,7 +461,8 @@ int rdbSaveBackground(char *filename) {
     if ((childpid = fork()) == 0) {
         /* Child */
         if (server.vm_enabled) vmReopenSwapFile();
-        close(server.fd);
+        if (server.ipfd > 0) close(server.ipfd);
+        if (server.sofd > 0) close(server.sofd);
         if (rdbSave(filename) == REDIS_OK) {
             _exit(0);
         } else {
@@ -885,16 +886,16 @@ int rdbLoad(char *filename) {
 
         /* Flush data on disk once 32 MB of additional RAM are used... */
         force_swapout = 0;
-        if ((redisEstimateRSS() - server.vm_max_memory) > 1024*1024*32)
+        if ((zmalloc_used_memory() - server.vm_max_memory) > 1024*1024*32)
             force_swapout = 1;
 
         /* If we have still some hope of having some value fitting memory
          * then we try random sampling. */
         if (!swap_all_values && server.vm_enabled && force_swapout) {
-            while (redisEstimateRSS() > server.vm_max_memory) {
+            while (zmalloc_used_memory() > server.vm_max_memory) {
                 if (vmSwapOneObjectBlocking() == REDIS_ERR) break;
             }
-            if (redisEstimateRSS() > server.vm_max_memory)
+            if (zmalloc_used_memory() > server.vm_max_memory)
                 swap_all_values = 1; /* We are already using too much mem */
         }
     }