udhcpc[6]: on SIGUSR1, do not go from rebind to renew state
function old new delta udhcpc6_main 2628 2636 +8 udhcpc_main 2556 2563 +7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 15/0) Total: 15 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		@@ -1517,6 +1517,9 @@ int udhcpc6_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
			if (client_data.state <= REQUESTING)
 | 
			
		||||
				/* Initial negotiations in progress, do not disturb */
 | 
			
		||||
				break;
 | 
			
		||||
			if (client_data.state == REBINDING)
 | 
			
		||||
				/* Do not go back from rebind to renew state */
 | 
			
		||||
				break;
 | 
			
		||||
 | 
			
		||||
			if (lease_remaining > 30) /* if renew fails, do not go back to BOUND */
 | 
			
		||||
				lease_remaining = 30;
 | 
			
		||||
@@ -1524,22 +1527,21 @@ int udhcpc6_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
			packet_num = 0;
 | 
			
		||||
 | 
			
		||||
			switch (client_data.state) {
 | 
			
		||||
			/* Try to renew/rebind */
 | 
			
		||||
			case BOUND:
 | 
			
		||||
			case RENEWING:
 | 
			
		||||
			case REBINDING:
 | 
			
		||||
				/* Try to renew/rebind */
 | 
			
		||||
				change_listen_mode(LISTEN_KERNEL);
 | 
			
		||||
				client_data.state = RENEW_REQUESTED;
 | 
			
		||||
				goto got_SIGUSR1;
 | 
			
		||||
 | 
			
		||||
			/* Two SIGUSR1 received, start things over */
 | 
			
		||||
			case RENEW_REQUESTED:
 | 
			
		||||
				/* Two SIGUSR1 received, start things over */
 | 
			
		||||
				change_listen_mode(LISTEN_NONE);
 | 
			
		||||
				d6_run_script_no_option("deconfig");
 | 
			
		||||
 | 
			
		||||
			/* Wake from SIGUSR2-induced deconfigured state */
 | 
			
		||||
			default:
 | 
			
		||||
			/* case RELEASED: */
 | 
			
		||||
				/* Wake from SIGUSR2-induced deconfigured state */
 | 
			
		||||
				change_listen_mode(LISTEN_NONE);
 | 
			
		||||
			}
 | 
			
		||||
			client_data.state = INIT_SELECTING;
 | 
			
		||||
 
 | 
			
		||||
@@ -1582,6 +1582,9 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
			if (client_data.state <= REQUESTING)
 | 
			
		||||
				/* Initial negotiations in progress, do not disturb */
 | 
			
		||||
				break;
 | 
			
		||||
			if (client_data.state == REBINDING)
 | 
			
		||||
				/* Do not go back from rebind to renew state */
 | 
			
		||||
				break;
 | 
			
		||||
 | 
			
		||||
			if (lease_remaining > 30) /* if renew fails, do not go back to BOUND */
 | 
			
		||||
				lease_remaining = 30;
 | 
			
		||||
@@ -1589,21 +1592,20 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
			packet_num = 0;
 | 
			
		||||
 | 
			
		||||
			switch (client_data.state) {
 | 
			
		||||
			/* Try to renew/rebind */
 | 
			
		||||
			case BOUND:
 | 
			
		||||
			case RENEWING:
 | 
			
		||||
			case REBINDING:
 | 
			
		||||
				/* Try to renew/rebind */
 | 
			
		||||
				client_data.state = RENEW_REQUESTED;
 | 
			
		||||
				goto got_SIGUSR1;
 | 
			
		||||
 | 
			
		||||
			/* Two SIGUSR1 received, start things over */
 | 
			
		||||
			case RENEW_REQUESTED:
 | 
			
		||||
				/* Two SIGUSR1 received, start things over */
 | 
			
		||||
				change_listen_mode(LISTEN_NONE);
 | 
			
		||||
				d4_run_script_deconfig();
 | 
			
		||||
 | 
			
		||||
			/* Wake from SIGUSR2-induced deconfigured state */
 | 
			
		||||
			default:
 | 
			
		||||
			/* case RELEASED: */
 | 
			
		||||
				/* Wake from SIGUSR2-induced deconfigured state */
 | 
			
		||||
				change_listen_mode(LISTEN_NONE);
 | 
			
		||||
			}
 | 
			
		||||
			client_data.state = INIT_SELECTING;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user