diff options
author | antirez <antirez@gmail.com> | 2012-05-11 10:45:12 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2012-05-12 09:37:09 +0200 |
commit | b07446173251bf99d8fb088c3ab081aa76800665 (patch) | |
tree | cd1a173f39048b2e3211f0c09bacc6ab32a0d932 | |
parent | f1af84d7143636602555e5d2d949bd5c9c6f6a69 (diff) | |
download | redis-b07446173251bf99d8fb088c3ab081aa76800665.tar.gz |
redis-cli pipe mode: handle EAGAIN while writing to socket.
-rw-r--r-- | src/redis-cli.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/redis-cli.c b/src/redis-cli.c index a99670f47..4c7f707e5 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -962,9 +962,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; |