antirez/redis — pull request #297 by pietern (2012-01-14 03:08:44+00:00)
Title: Rewrite variadic LPUSH when values are pushed to waiting clients

Not doing this may cause `LPUSH` to be replicated with a wrong number of arguments. The values to push are scanned from left to right, pushing them to waiting clients as needed. When one or more values cannot be
pushed to waiting clients and are pushed onto a real list, the global dirty count is incremented, which causes the command to be replicated. When replicated, it should only include the values that were pushed to a real list, ignoring the values that were pushed to waiting clients.