From: Steven Barth Date: Fri, 28 Nov 2014 00:29:59 +0000 (+0100) Subject: Fix initial delay of SOLICIT message X-Git-Tag: debian/1.1+git20160131-1~42 X-Git-Url: https://git.decadent.org.uk/gitweb/?p=odhcp6c.git;a=commitdiff_plain;h=2e955b5ab5560302ab4f7a8372e4132d5a14a001;hp=7e6eebbe7d3df2b86b36b2e0d6ae7ee65f642094 Fix initial delay of SOLICIT message Signed-off-by: Steven Barth --- diff --git a/src/dhcpv6.c b/src/dhcpv6.c index 1af5c9a..e857823 100644 --- a/src/dhcpv6.c +++ b/src/dhcpv6.c @@ -487,8 +487,8 @@ int dhcpv6_request(enum dhcpv6_msg type) if (retx->delay) { struct timespec ts = {0, 0}; - ts.tv_nsec = dhcpv6_rand_delay(10 * DHCPV6_REQ_DELAY); - nanosleep(&ts, NULL); + ts.tv_nsec = (dhcpv6_rand_delay((10000 * DHCPV6_REQ_DELAY) / 2) + (1000 * DHCPV6_REQ_DELAY) / 2) * 1000000; + while (nanosleep(&ts, &ts) < 0 && errno == EINTR); } if (type == DHCPV6_MSG_UNKNOWN)