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 f1af84d714
commit b074461732

View File

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