Don't accept SAVE if BGSAVE is in progress

This commit is contained in:
antirez 2009-04-06 10:29:36 +02:00
parent ab48d029d9
commit 05557f6de7
2 changed files with 8 additions and 0 deletions

4
TODO
View File

@ -1,5 +1,6 @@
BEFORE REDIS 1.0.0-rc1
- Remove max number of args limit
- GETSET
- Fix pure-PHP lib version 4 for the new protocol
- persistent expires
@ -9,6 +10,9 @@ BEFORE REDIS 1.0.0-rc1
- replication automated tests
- replication non stopping master<->slave syncronization
- an external tool able to perform the 'difference' between two Redis servers. It's like 'diff', but against Redis servers, and the output is the set of commands needed to turn the first server into the second, suitable to be sent via netcat.
- Shutdown must kill other background savings before to start saving. Otherwise the DB can get replaced by the child that rename(2) after the parent for some reason.
- Add missing commands in documentation
- Document replication
$ ./redis-diff 192.168.1.1 192.168.1.2 > diff.txt
$ cat diff.txt | nc 192.168.1.1 6379

View File

@ -2310,6 +2310,10 @@ static void typeCommand(redisClient *c) {
}
static void saveCommand(redisClient *c) {
if (server.bgsaveinprogress) {
addReplySds(c,sdsnew("-ERR background save in progress\r\n"));
return;
}
if (rdbSave(server.dbfilename) == REDIS_OK) {
addReply(c,shared.ok);
} else {