redis-cli pipe mode: handle EAGAIN while writing to socket.

This commit is contained in:
antirez 2012-05-11 10:45:12 +02:00
parent 8c6301462b
commit f6bd9122c0

View File

@ -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;