diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-08-08 10:08:42 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-08-10 14:19:24 +0200 |
| commit | f4f9f5741cf8f82cdff08ee41e7842bdd1b89869 (patch) | |
| tree | 44033787dd386285f110006a20ae642cc564fe07 /talpid-core/src | |
| parent | ac02c329d129edb5783e267995674fc4fdb8a65d (diff) | |
| download | mullvadvpn-f4f9f5741cf8f82cdff08ee41e7842bdd1b89869.tar.xz mullvadvpn-f4f9f5741cf8f82cdff08ee41e7842bdd1b89869.zip | |
Log slow flushing of DNS cache on Windows
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/dns/windows/dnsapi.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/talpid-core/src/dns/windows/dnsapi.rs b/talpid-core/src/dns/windows/dnsapi.rs index 2d428468ff..a9232b1cb1 100644 --- a/talpid-core/src/dns/windows/dnsapi.rs +++ b/talpid-core/src/dns/windows/dnsapi.rs @@ -5,7 +5,7 @@ use std::{ atomic::{AtomicUsize, Ordering}, mpsc, Arc, }, - time::Duration, + time::{Duration, Instant}, }; use winapi::{ shared::minwindef::{BOOL, FALSE}, @@ -105,10 +105,20 @@ impl DnsApi { let flush_fn = self.flush_fn; std::thread::spawn(move || { + let begin = Instant::now(); + let result = if unsafe { (flush_fn)() } == FALSE { Err(Error::FlushCache) } else { - log::debug!("Flushed DNS resolver cache"); + let elapsed = begin.elapsed(); + if elapsed >= FLUSH_TIMEOUT { + log::warn!( + "Flushing system DNS cache took {} seconds", + elapsed.as_secs() + ); + } else { + log::debug!("Flushed system DNS cache"); + } Ok(()) }; let _ = tx.send(result); |
