diff --git a/TODO b/TODO index a8108a7aaf7ec82d46773c142fff74a5a47d0e98..7040af2c1f318776410eb2e9838ffadbcc0b1755 100644 --- a/TODO +++ b/TODO @@ -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 diff --git a/redis.c b/redis.c index 3d225ba93c76315e41b0b8cc1e95b10520a65b91..00df17e671eef96473653ee0273d9af357e197ae 100644 --- a/redis.c +++ b/redis.c @@ -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 {