When we add a delay to rdb save for test purposes we still need to check for aborts
Former-commit-id: b057b4d05aae6c08b855bfc9ae48d41ad0e881f8
This commit is contained in:
parent
5d7f6d0cd3
commit
f86dee6eb3
10
src/rdb.cpp
10
src/rdb.cpp
@ -1146,8 +1146,14 @@ int rdbSaveKeyValuePair(rio *rdb, robj_roptr key, robj_roptr val, const expireEn
|
||||
if (rdbSaveObject(rdb,val,key) == -1) return -1;
|
||||
|
||||
/* Delay return if required (for testing) */
|
||||
if (serverTL->getRdbKeySaveDelay())
|
||||
usleep(serverTL->getRdbKeySaveDelay());
|
||||
if (serverTL->getRdbKeySaveDelay()) {
|
||||
int sleepTime = serverTL->getRdbKeySaveDelay();
|
||||
while (!g_pserver->rdbThreadVars.fRdbThreadCancel && sleepTime > 0) {
|
||||
int sleepThisTime = std::min(100, sleepTime);
|
||||
usleep(sleepThisTime);
|
||||
sleepTime -= sleepThisTime;
|
||||
}
|
||||
}
|
||||
|
||||
/* Save expire entry after as it will apply to the previously loaded key */
|
||||
/* This is because we update the expire datastructure directly without buffering */
|
||||
|
Loading…
x
Reference in New Issue
Block a user