소스 검색

Treat bacoff/schedule mismatch as a bug.

Nick Mathewson 7 년 전
부모
커밋
89edef6afb
2개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 0
      changes/bug20593.2
  2. 1 1
      src/or/directory.c

+ 4 - 0
changes/bug20593.2

@@ -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.
+

+ 1 - 1
src/or/directory.c

@@ -4055,7 +4055,7 @@ download_status_schedule_get_delay(download_status_t *dls,
       delay = *(int *)smartlist_get(schedule, smartlist_len(schedule) - 1);
   } else if (dls->backoff == DL_SCHED_RANDOM_EXPONENTIAL) {
     /* 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_delay_used = 0;
     }