Commit 47d8dab2 authored by antirez's avatar antirez
Browse files

redis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SIGCONT are handled correctly.

parent b0744617
...@@ -919,7 +919,7 @@ static void pipeMode(void) { ...@@ -919,7 +919,7 @@ static void pipeMode(void) {
/* Read from socket and feed the hiredis reader. */ /* Read from socket and feed the hiredis reader. */
do { do {
nread = read(fd,ibuf,sizeof(ibuf)); nread = read(fd,ibuf,sizeof(ibuf));
if (nread == -1 && errno != EAGAIN) { if (nread == -1 && errno != EAGAIN && errno != EINTR) {
fprintf(stderr, "Error reading from the server: %s\n", fprintf(stderr, "Error reading from the server: %s\n",
strerror(errno)); strerror(errno));
exit(1); exit(1);
...@@ -962,7 +962,7 @@ static void pipeMode(void) { ...@@ -962,7 +962,7 @@ 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) {
if (errno != EAGAIN) { if (errno != EAGAIN && errno != EINTR) {
fprintf(stderr, "Error writing to the server: %s\n", fprintf(stderr, "Error writing to the server: %s\n",
strerror(errno)); strerror(errno));
exit(1); exit(1);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment