diff --git a/src/ipdb.rs b/src/ipdb.rs index cbd5dcf..cdb17b5 100644 --- a/src/ipdb.rs +++ b/src/ipdb.rs @@ -182,8 +182,12 @@ impl DbType { self, ) -> crate::Result> { let path = self.db_path().await?; - maxminddb::Reader::open_mmap(path).wrap_err_with(move || { - format!("failed to open IP database: {}", self.name()) + let name = self.name(); + tokio::task::spawn_blocking(move || { + maxminddb::Reader::open_mmap(path).wrap_err_with(move || { + format!("failed to open IP database: {name}") + }) }) + .await? } }