diff options
author | antirez <antirez@gmail.com> | 2014-10-22 15:53:45 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2014-10-22 15:53:45 +0200 |
commit | d4f6a1711defdc0b63629c797b550abbcca2b96f (patch) | |
tree | f2220de6eaac4833082202888754db1e17a99298 /src/rdb.c | |
parent | 2309f15d89e94babb2e9ef29225a40d822828379 (diff) | |
download | redis-d4f6a1711defdc0b63629c797b550abbcca2b96f.tar.gz |
Diskless replication: set / reset socket send timeout.
We need to avoid that a child -> slaves transfer can continue forever.
We use the same timeout used as global replication timeout, which is
documented to also affect I/O operations during bulk transfers.
Diffstat (limited to 'src/rdb.c')
-rw-r--r-- | src/rdb.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1349,6 +1349,7 @@ void backgroundSaveDoneHandlerSocket(int exitcode, int bysignal) { slave->id); /* Restore the socket as non-blocking. */ anetNonBlock(NULL,slave->fd); + anetSendTimeout(NULL,slave->fd,0); } } } @@ -1414,6 +1415,7 @@ int rdbSaveToSlavesSockets(void) { * We'll restore it when the children returns (since duped socket * will share the O_NONBLOCK attribute with the parent). */ anetBlock(NULL,slave->fd); + anetSendTimeout(NULL,slave->fd,server.repl_timeout*1000); } } |