summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2017-05-19 11:10:36 +0200
committerantirez <antirez@gmail.com>2017-05-19 12:03:54 +0200
commit8cd6a2bd8638386700564bc8aaaf6864f3fedd73 (patch)
tree44cc31ca9ca9f28d66c393d616be6e3b439b3091
parenta3941aa5694878f0ee9d1521dbb05fe1e3000010 (diff)
downloadredis-8cd6a2bd8638386700564bc8aaaf6864f3fedd73.tar.gz
Collect fork() timing info only if fork succeeded.
-rw-r--r--src/rdb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rdb.c b/src/rdb.c
index 1a5a7b2c5..570ffa843 100644
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -1870,9 +1870,6 @@ int rdbSaveToSlavesSockets(rdbSaveInfo *rsi) {
exitFromChild((retval == C_OK) ? 0 : 1);
} else {
/* Parent */
- server.stat_fork_time = ustime()-start;
- server.stat_fork_rate = (double) zmalloc_used_memory() * 1000000 / server.stat_fork_time / (1024*1024*1024); /* GB per second. */
- latencyAddSampleIfNeeded("fork",server.stat_fork_time/1000);
if (childpid == -1) {
serverLog(LL_WARNING,"Can't save in background: fork: %s",
strerror(errno));
@@ -1896,6 +1893,10 @@ int rdbSaveToSlavesSockets(rdbSaveInfo *rsi) {
close(pipefds[1]);
closeChildInfoPipe();
} else {
+ server.stat_fork_time = ustime()-start;
+ server.stat_fork_rate = (double) zmalloc_used_memory() * 1000000 / server.stat_fork_time / (1024*1024*1024); /* GB per second. */
+ latencyAddSampleIfNeeded("fork",server.stat_fork_time/1000);
+
serverLog(LL_NOTICE,"Background RDB transfer started by pid %d",
childpid);
server.rdb_save_time_start = time(NULL);