mirror of
https://github.com/fluencelabs/redis
synced 2025-03-31 14:51:04 +00:00
redis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SIGCONT are handled correctly.
This commit is contained in:
parent
f6bd9122c0
commit
ea66be6080
@ -1009,7 +1009,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);
|
||||||
@ -1052,7 +1052,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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user