From 346825c7ed8e5e57704ff2603a51435249b7c59e Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 11 May 2012 10:45:12 +0200 Subject: [PATCH 1/1] redis-cli pipe mode: handle EAGAIN while writing to socket. --- src/redis-cli.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/redis-cli.c b/src/redis-cli.c index 1603c2d0..1b3c0c74 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -1052,9 +1052,13 @@ static void pipeMode(void) { ssize_t nwritten = write(fd,obuf+obuf_pos,obuf_len); if (nwritten == -1) { - fprintf(stderr, "Error writing to the server: %s\n", - strerror(errno)); - exit(1); + if (errno != EAGAIN) { + fprintf(stderr, "Error writing to the server: %s\n", + strerror(errno)); + exit(1); + } else { + nwritten = 0; + } } obuf_len -= nwritten; obuf_pos += nwritten; -- 2.47.2