summaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
authorRuss Dill2002-10-31 19:21:27 +0000
committerRuss Dill2002-10-31 19:21:27 +0000
commitf5ecd43473353ae18421f487284eee085c203052 (patch)
treef53a725938b0899c5fe2c77f832b09e105482d55 /networking/udhcp/dhcpc.c
parent1b6eb9b6ebd7771db9d1bf481569085ff88197de (diff)
downloadbusybox-f5ecd43473353ae18421f487284eee085c203052.zip
busybox-f5ecd43473353ae18421f487284eee085c203052.tar.gz
sync to udhcp 0.9.8
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r--networking/udhcp/dhcpc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index ae40ec9..295486c 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -118,14 +118,14 @@ static void perform_renew(void)
{
LOG(LOG_INFO, "Performing a DHCP renew");
switch (state) {
- case RENEWING:
- run_script(NULL, "deconfig");
case BOUND:
- case REBINDING:
change_mode(LISTEN_KERNEL);
+ case RENEWING:
+ case REBINDING:
state = RENEW_REQUESTED;
break;
- case RENEW_REQUESTED:
+ case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
+ run_script(NULL, "deconfig");
case REQUESTING:
case RELEASED:
change_mode(LISTEN_RAW);
@@ -387,6 +387,7 @@ int main(int argc, char *argv[])
packet_num++;
} else {
/* timed out, go back to init state */
+ if (state == RENEW_REQUESTED) run_script(NULL, "deconfig");
state = INIT_SELECTING;
timeout = now;
packet_num = 0;