Treat bacoff/schedule mismatch as a bug.

This commit is contained in:
Nick Mathewson 2016-11-07 11:05:57 -05:00
parent 1934bf75ef
commit 89edef6afb
2 changed files with 5 additions and 1 deletions

4
changes/bug20593.2 Normal file
View File

@ -0,0 +1,4 @@
o Minor features (diagnostic, directory client):
- Warn if we find an unexpected inconsistency in directory download
status objects. Prevents some negative consequences of bug 20593.

View File

@ -4055,7 +4055,7 @@ download_status_schedule_get_delay(download_status_t *dls,
delay = *(int *)smartlist_get(schedule, smartlist_len(schedule) - 1); delay = *(int *)smartlist_get(schedule, smartlist_len(schedule) - 1);
} else if (dls->backoff == DL_SCHED_RANDOM_EXPONENTIAL) { } else if (dls->backoff == DL_SCHED_RANDOM_EXPONENTIAL) {
/* Check if we missed a reset somehow */ /* Check if we missed a reset somehow */
if (dls->last_backoff_position > dls_schedule_position) { IF_BUG_ONCE(dls->last_backoff_position > dls_schedule_position) {
dls->last_backoff_position = 0; dls->last_backoff_position = 0;
dls->last_delay_used = 0; dls->last_delay_used = 0;
} }