From: Steven Barth Date: Fri, 28 Nov 2014 00:29:59 +0000 (+0100) Subject: Fix initial delay of SOLICIT message X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2e955b5ab5560302ab4f7a8372e4132d5a14a001;p=oweals%2Fodhcp6c.git 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)