From ea66be60802fea82d88d48e0af87d1e6c20bfee5 Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 11 May 2012 16:08:57 +0200 Subject: [PATCH] redis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SIGCONT are handled correctly. --- src/redis-cli.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/redis-cli.c b/src/redis-cli.c index 1b3c0c74..ca2f0623 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -1009,7 +1009,7 @@ static void pipeMode(void) { /* Read from socket and feed the hiredis reader. */ do { 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", strerror(errno)); exit(1); @@ -1052,7 +1052,7 @@ static void pipeMode(void) { ssize_t nwritten = write(fd,obuf+obuf_pos,obuf_len); if (nwritten == -1) { - if (errno != EAGAIN) { + if (errno != EAGAIN && errno != EINTR) { fprintf(stderr, "Error writing to the server: %s\n", strerror(errno)); exit(1);