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); ssize_t nwritten = write(fd,obuf+obuf_pos,obuf_len);
if (nwritten == -1) { if (nwritten == -1) {
fprintf(stderr, "Error writing to the server: %s\n", if (errno != EAGAIN) {
strerror(errno)); fprintf(stderr, "Error writing to the server: %s\n",
exit(1); strerror(errno));
exit(1);
} else {
nwritten = 0;
}
} }
obuf_len -= nwritten; obuf_len -= nwritten;
obuf_pos += nwritten; obuf_pos += nwritten;