[git commit] dhcpd: write lease file on exit

Denys Vlasenko vda.linux at googlemail.com
Tue Jul 24 15:21:26 UTC 2012


commit: http://git.busybox.net/busybox/commit/?id=71045cc819cc2a3c7e20bf7aba5cfeb8acfd9dad
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
udhcpd_main                                         1431    1403     -28

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/udhcp/dhcpd.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c
index dd55e70..9ad9595 100644
--- a/networking/udhcp/dhcpd.c
+++ b/networking/udhcp/dhcpd.c
@@ -377,6 +377,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 	/* Setup the signal pipe */
 	udhcp_sp_setup();
 
+ continue_with_autotime:
 	timeout_end = monotonic_sec() + server_config.auto_time;
 	while (1) { /* loop until universe collapses */
 		fd_set rfds;
@@ -406,8 +407,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 		}
 		if (retval == 0) {
 			write_leases();
-			timeout_end = monotonic_sec() + server_config.auto_time;
-			continue;
+			goto continue_with_autotime;
 		}
 		if (retval < 0 && errno != EINTR) {
 			log1("Error on select");
@@ -419,10 +419,10 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 			bb_info_msg("Received SIGUSR1");
 			write_leases();
 			/* why not just reset the timeout, eh */
-			timeout_end = monotonic_sec() + server_config.auto_time;
-			continue;
+			goto continue_with_autotime;
 		case SIGTERM:
 			bb_info_msg("Received SIGTERM");
+			write_leases();
 			goto ret0;
 		case 0: /* no signal: read a packet */
 			break;


More information about the busybox-cvs mailing list