summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/isc-dhcp/client/dhclient.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/contrib/isc-dhcp/client/dhclient.c b/contrib/isc-dhcp/client/dhclient.c
index 15da9c9..da64326 100644
--- a/contrib/isc-dhcp/client/dhclient.c
+++ b/contrib/isc-dhcp/client/dhclient.c
@@ -3442,11 +3442,16 @@ void state_polling (cpp)
*/
for (client = ip -> client;
client; client = client -> next) {
- cancel_timeout (state_init, client);
- cancel_timeout (state_reboot, client);
- cancel_timeout (state_selecting, client);
+ cancel_timeout (state_init, client);
+ cancel_timeout (state_reboot, client);
+ cancel_timeout (state_selecting, client);
+ if (client -> active) {
add_timeout (cur_time + random () % 5,
- state_bound, client, 0, 0);
+ state_bound, client, 0, 0);
+ } else {
+ add_timeout (cur_time + random () % 5,
+ state_reboot, client, 0, 0);
+ }
}
ip -> linkstate = HAVELINK;
} else {
OpenPOWER on IntegriCloud