From d526a3cfa506bc1b758fe0fc5685ba06539a7016 Mon Sep 17 00:00:00 2001 From: angt Date: Sat, 12 Dec 2015 12:19:09 +0100 Subject: [PATCH] Fix retry when kx fails --- src/main.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/main.c b/src/main.c index 6a321d5..8deb4de 100644 --- a/src/main.c +++ b/src/main.c @@ -792,33 +792,30 @@ int main (int argc, char **argv) long retry = 0; while (!gt_close) { - sock.fd = listener?sk_accept(fd):sk_create(ai, sk_connect); - - if (sock.fd==-1) { - if (retry=0 && retry>=retry_count+1) { + gt_log("couldn't %s (%d attempt%s)\n", listener?"listen":"connect", + (int)retry, (retry>1)?"s":""); + break; + } + if (retry_slope || retry_const) { long usec = retry*retry_slope+retry_const; - if (retry_count>=0 && retry>=retry_count) { - gt_log("couldn't %s (%d attempt%s)\n", - listener?"listen":"connect", - (int)retry, (retry>1)?"s":""); - break; - } - if (usec>retry_limit) usec = retry_limit; - if (usec<=0) - continue; - - if (usleep(usec)==-1 && errno==EINVAL) + if (usec>0 && usleep(usec)==-1 && errno==EINVAL) sleep(usec/1000000); - - continue; } + if (retry