sd-dhcp6-client: stop IO event source when client entered bound state
Also when the client receives a reply when running in information requesting mode.
This commit is contained in:
@@ -1051,6 +1051,7 @@ static int client_enter_bound_state(sd_dhcp6_client *client) {
|
||||
DHCP6_STATE_RENEW,
|
||||
DHCP6_STATE_REBIND));
|
||||
|
||||
(void) event_source_disable(client->receive_message);
|
||||
(void) event_source_disable(client->timeout_resend);
|
||||
|
||||
r = dhcp6_lease_get_lifetime(client->lease, &lifetime_t1, &lifetime_t2, &lifetime_valid);
|
||||
@@ -1152,6 +1153,8 @@ static int client_process_information(
|
||||
sd_dhcp6_lease_unref(client->lease);
|
||||
client->lease = TAKE_PTR(lease);
|
||||
|
||||
/* Do not call client_stop() here, as it frees the acquired lease. */
|
||||
(void) event_source_disable(client->receive_message);
|
||||
(void) event_source_disable(client->timeout_resend);
|
||||
client_set_state(client, DHCP6_STATE_STOPPED);
|
||||
|
||||
@@ -1346,8 +1349,6 @@ static int client_receive_message(
|
||||
|
||||
case DHCP6_STATE_BOUND:
|
||||
case DHCP6_STATE_STOPPED:
|
||||
return 0;
|
||||
|
||||
default:
|
||||
assert_not_reached();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user