feat: remove drop

This commit is contained in:
Ivan Moiseev 2024-10-12 15:56:26 +02:00
parent b105a3bb22
commit bbdb78f773

View file

@ -1365,16 +1365,17 @@ impl Session {
} }
pub async fn pause(&self, handle: &ManagedTorrentHandle) -> anyhow::Result<()> { pub async fn pause(&self, handle: &ManagedTorrentHandle) -> anyhow::Result<()> {
let mut g = handle.locked.write(); let prev_state;
let prev = g.paused; {
g.paused = true; let mut g = handle.locked.write();
drop(g); prev_state = g.paused;
g.paused = true;
}
handle.locked.write().paused = true;
match handle.pause() { match handle.pause() {
Ok(()) => {} Ok(()) => {}
Err(err) => { Err(err) => {
handle.locked.write().paused = prev; handle.locked.write().paused = prev_state;
return Err(err); return Err(err);
} }
} }