From: Ian Jackson Date: Sat, 1 Aug 2020 21:49:58 +0000 (+0100) Subject: reduce lock scope X-Git-Tag: otter-0.2.0~1198 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=ac4d12fe3007513961a3708dcbf9967cb0e9af48;p=otter.git reduce lock scope --- diff --git a/src/global.rs b/src/global.rs index 78b915ed..3a55467c 100644 --- a/src/global.rs +++ b/src/global.rs @@ -554,15 +554,16 @@ impl InstanceGuard<'_> { #[throws(ServerFailure)] fn save_access_now(&mut self) { self.save_something("a-", |s,w| { - let global_players = GLOBAL.players.read().unwrap(); - let tokens_players : Vec<(&str, PlayerId)> = + let tokens_players : Vec<(&str, PlayerId)> = { + let global_players = GLOBAL.players.read().unwrap(); s.c.g.tokens_players.tr - .iter() - .map(|token| - global_players.get(token) - .map(|player| (token.0.as_str(), player.ident))) - .flatten() - .collect(); + .iter() + .map(|token| + global_players.get(token) + .map(|player| (token.0.as_str(), player.ident))) + .flatten() + .collect() + }; let isa = InstanceSaveAccesses { tokens_players }; rmp_serde::encode::write_named(w, &isa) })?;