From ba76a8f901258bc13812072dc4065b88f2e2d4d0 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 2 Mar 2010 00:52:50 +0100 Subject: [PATCH] Fixed a subtle VM bug... was not flushing the buffer so the child process read truncated data --- redis.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redis.c b/redis.c index c10fb03a..8273cd12 100644 --- a/redis.c +++ b/redis.c @@ -7416,6 +7416,7 @@ static int vmWriteObjectOnSwap(robj *o, off_t page) { return REDIS_ERR; } rdbSaveObject(server.vm_fp,o); + fflush(server.vm_fp); if (server.vm_enabled) pthread_mutex_unlock(&server.io_swapfile_mutex); return REDIS_OK; } @@ -7443,7 +7444,6 @@ static int vmSwapObjectBlocking(robj *key, robj *val) { (unsigned long long) page, (unsigned long long) pages); server.vm_stats_swapped_objects++; server.vm_stats_swapouts++; - fflush(server.vm_fp); return REDIS_OK; }