Quellcode durchsuchen

r6981@Kushana: nickm | 2006-07-31 13:23:26 -0400
More asserts for cache correctness.


svn:r6960

Nick Mathewson vor 19 Jahren
Ursprung
Commit
58c0ac77be
1 geänderte Dateien mit 13 neuen und 0 gelöschten Zeilen
  1. 13 0
      src/or/dns.c

+ 13 - 0
src/or/dns.c

@@ -226,6 +226,8 @@ static void
 set_expiry(cached_resolve_t *resolve, time_t expires)
 {
   tor_assert(resolve && resolve->expire == 0);
+  if (!cached_resolve_pqueue)
+    cached_resolve_pqueue = smartlist_create();
   resolve->expire = expires;
   smartlist_pqueue_add(cached_resolve_pqueue,
                        _compare_cached_resolves_by_expiry,
@@ -1241,9 +1243,15 @@ assert_resolve_ok(cached_resolve_t *resolve)
   tor_assert(resolve);
   tor_assert(resolve->magic == CACHED_RESOLVE_MAGIC);
   tor_assert(strlen(resolve->address) < MAX_ADDRESSLEN);
+  tor_assert(tor_strisnonupper(resolve->address));
   if (resolve->state != CACHE_STATE_PENDING) {
     tor_assert(!resolve->pending_connections);
   }
+  if (resolve->state == CACHE_STATE_PENDING ||
+      resolve->state == CACHE_STATE_DONE) {
+    tor_assert(!resolve->ttl);
+    tor_assert(!resolve->addr);
+  }
 }
 
 static void
@@ -1260,5 +1268,10 @@ assert_cache_ok(void)
     assert_resolve_ok(*resolve);
     tor_assert((*resolve)->state != CACHE_STATE_DONE);
   }
+  if (!cached_resolve_pqueue)
+    return;
+
+  smartlist_pqueue_assert_ok(cached_resolve_pqueue,
+                             _compare_cached_resolves_by_expiry);
 }