diff --git a/crates/librqbit/src/session.rs b/crates/librqbit/src/session.rs index 2355518..c673eac 100644 --- a/crates/librqbit/src/session.rs +++ b/crates/librqbit/src/session.rs @@ -259,7 +259,7 @@ impl Session { let session = session.clone(); spawn( "session persistene", - error_span!("session persistence"), + error_span!("session_persistence"), async move { // Populate initial from the state filename if let Err(e) = session.populate_from_stored().await { @@ -290,7 +290,7 @@ impl Session { self.dht.as_ref() } - async fn populate_from_stored(&self) -> anyhow::Result<()> { + async fn populate_from_stored(self: &Arc) -> anyhow::Result<()> { let mut rdr = BufReader::new( std::fs::File::open(&self.persistence_filename).with_context(|| { format!("error opening session file {:?}", self.persistence_filename) diff --git a/crates/librqbit/src/torrent_state/mod.rs b/crates/librqbit/src/torrent_state/mod.rs index cd9f01d..1e9e72c 100644 --- a/crates/librqbit/src/torrent_state/mod.rs +++ b/crates/librqbit/src/torrent_state/mod.rs @@ -234,6 +234,7 @@ impl ManagedTorrent { } ManagedTorrentState::Initializing(init) => { let init = init.clone(); + drop(g); let t = self.clone(); let span = self.info().span.clone(); spawn(