From 2e955b5ab5560302ab4f7a8372e4132d5a14a001 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Fri, 28 Nov 2014 01:29:59 +0100 Subject: [PATCH] Fix initial delay of SOLICIT message Signed-off-by: Steven Barth --- src/dhcpv6.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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) -- 2.39.2