X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=dccp_send.c;h=e4b508799f8bafe0b8d09aeed03fb9c80841441e;hp=128d45b74c271aaeca10abacb5ef50ef197b55a6;hb=c85690666e2ed2327e751b819970658d58479bfb;hpb=dc4030458f9af07d5719cfbff0a47cd16f1847f7 diff --git a/dccp_send.c b/dccp_send.c index 128d45b7..e4b50879 100644 --- a/dccp_send.c +++ b/dccp_send.c @@ -120,7 +120,8 @@ static void dccp_shutdown_client(struct dccp_client *dc) free(dc); } -#define DCCP_RETRIES 100 +/** give up if write would block that many times */ +#define DCCP_WRITE_RETRIES 100 static int dccp_write(int fd, const char *buf, size_t len) { @@ -130,7 +131,7 @@ again: size = PARA_MIN(1024, len - written); ret = write(fd, buf + written, size); if (ret < 0) { - if (errno != EAGAIN || !retries++ > DCCP_RETRIES) + if (errno != EAGAIN || retries++ > DCCP_WRITE_RETRIES) goto err_out; PARA_DEBUG_LOG("EAGAIN #%d@%zd/%zd\n", retries, written, len); goto again;