diff options
| author | Fabien MARTY <fabien.marty@gmail.com> | 2012-07-31 23:38:08 +0200 | 
|---|---|---|
| committer | Fabien MARTY <fabien.marty@gmail.com> | 2012-11-06 18:42:05 +0100 | 
| commit | bf161d996fcab9cf351b2fdb851a9db5f275103b (patch) | |
| tree | 380b73eb3d1e2a1e90bc1a8ef89be31eb3cdb098 | |
| parent | 3c46b13a62164d9f3f99289476f84db7918aafc2 (diff) | |
| download | hiredict-bf161d996fcab9cf351b2fdb851a9db5f275103b.tar.xz | |
Try again later for EINTR errors (see issue #99)
| -rw-r--r-- | hiredis.c | 4 | 
1 files changed, 2 insertions, 2 deletions
@@ -1077,7 +1077,7 @@ int redisBufferRead(redisContext *c) {      nread = read(c->fd,buf,sizeof(buf));      if (nread == -1) { -        if (errno == EAGAIN && !(c->flags & REDIS_BLOCK)) { +        if ((errno == EAGAIN && !(c->flags & REDIS_BLOCK)) || (errno == EINTR)) {              /* Try again later */          } else {              __redisSetError(c,REDIS_ERR_IO,NULL); @@ -1114,7 +1114,7 @@ int redisBufferWrite(redisContext *c, int *done) {      if (sdslen(c->obuf) > 0) {          nwritten = write(c->fd,c->obuf,sdslen(c->obuf));          if (nwritten == -1) { -            if (errno == EAGAIN && !(c->flags & REDIS_BLOCK)) { +            if ((errno == EAGAIN && !(c->flags & REDIS_BLOCK)) || (errno == EINTR)) {                  /* Try again later */              } else {                  __redisSetError(c,REDIS_ERR_IO,NULL);  | 
