mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-20 10:30:04 +01:00
l3cfg: fix the interval of the ACD restart timer
After ACD_WAIT_PROBING_EXTRA_TIME_MSEC has elapsed, _l3_acd_data_timeout_schedule_probing_restart() keeps rescheduling the timer with a zero interval, resulting in 100% CPU usage. This continues until the probe is destroyed after ACD_WAIT_PROBING_EXTRA_TIME2_MSEC. When computing the interval, we need to use (ACD_WAIT_PROBING_EXTRA_TIME_MSEC + ACD_WAIT_PROBING_EXTRA_TIME2_MSEC) as the expiry time.
This commit is contained in:
parent
407d753a5a
commit
127f73a5c2
1 changed files with 2 additions and 1 deletions
|
|
@ -2322,7 +2322,8 @@ _l3_acd_data_timeout_schedule_probing_restart(AcdData *acd_data, gint64 now_msec
|
||||||
nm_assert(acd_data->probing_timeout_msec > 0);
|
nm_assert(acd_data->probing_timeout_msec > 0);
|
||||||
nm_assert(acd_data->probing_timestamp_msec > 0);
|
nm_assert(acd_data->probing_timestamp_msec > 0);
|
||||||
|
|
||||||
expiry_msec = acd_data->probing_timestamp_msec + ACD_WAIT_PROBING_EXTRA_TIME_MSEC;
|
expiry_msec = acd_data->probing_timestamp_msec + ACD_WAIT_PROBING_EXTRA_TIME_MSEC
|
||||||
|
+ ACD_WAIT_PROBING_EXTRA_TIME2_MSEC;
|
||||||
|
|
||||||
timeout_msec = NM_MAX(0, expiry_msec - now_msec);
|
timeout_msec = NM_MAX(0, expiry_msec - now_msec);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue