diff options
author | teor <teor@torproject.org> | 2019-08-12 09:50:42 +1000 |
---|---|---|
committer | teor <teor@torproject.org> | 2019-08-12 09:50:42 +1000 |
commit | e5be039494745a3b0d101e422aa5793aaeac3567 (patch) | |
tree | f54b75ac063def4249d6a1db634e9e1af50ee96c | |
parent | f65f4b5c38bc79e2b3f1a10c21cedce9376ad87e (diff) | |
parent | 37aae23945c45c459091b38699130a14466d33ef (diff) | |
download | tor-e5be039494745a3b0d101e422aa5793aaeac3567.tar.gz tor-e5be039494745a3b0d101e422aa5793aaeac3567.zip |
Merge remote-tracking branch 'tor-github/pr/1034' into maint-0.3.5
-rw-r--r-- | changes/ticket29617 | 4 | ||||
-rw-r--r-- | src/feature/relay/dns.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/ticket29617 b/changes/ticket29617 new file mode 100644 index 0000000000..4d50ea9627 --- /dev/null +++ b/changes/ticket29617 @@ -0,0 +1,4 @@ + o Minor bugfixes (out-of-memory handler): + - When purging the DNS cache because of an out-of-memory condition, + try purging just the older entries at first. Previously, we would + purge the whole thing. Fixes bug 29617; bugfix on 0.3.5.1-alpha. diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c index d3660c47ef..cc9f4cf490 100644 --- a/src/feature/relay/dns.c +++ b/src/feature/relay/dns.c @@ -2130,7 +2130,8 @@ dns_cache_handle_oom(time_t now, size_t min_remove_bytes) current_size -= bytes_removed; total_bytes_removed += bytes_removed; - time_inc += 3600; /* Increase time_inc by 1 hour. */ + /* Increase time_inc by a reasonable fraction. */ + time_inc += (MAX_DNS_TTL_AT_EXIT / 4); } while (total_bytes_removed < min_remove_bytes); return total_bytes_removed; |