From c5499b02777b6a3fb8c1adf6414f3ab5508ae191 Mon Sep 17 00:00:00 2001 From: Andy Killorin <37423245+Speedy6451@users.noreply.github.com> Date: Fri, 22 Dec 2023 10:59:13 -0600 Subject: [PATCH] possibly concurrent turtle updates --- server/src/turtle.rs | 4 ++-- server/src/turtle_api.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/turtle.rs b/server/src/turtle.rs index fa9bf76..518f102 100644 --- a/server/src/turtle.rs +++ b/server/src/turtle.rs @@ -292,14 +292,14 @@ impl TurtleCommander { pub(crate) async fn process_turtle_update( id: u32, - state: &mut LiveState, + state: &LiveState, update: TurtleUpdate, ) -> anyhow::Result { let mut turtle = state .turtles .get(id as usize) .context("nonexisting turtle")?.write().await; - let world = &mut state.world; + let world = &state.world; if turtle.pending_update { turtle.pending_update = false; diff --git a/server/src/turtle_api.rs b/server/src/turtle_api.rs index bd962ed..839e4d3 100644 --- a/server/src/turtle_api.rs +++ b/server/src/turtle_api.rs @@ -150,7 +150,7 @@ pub(crate) async fn command( State(state): State, Json(req): Json, ) -> Json { - let mut state = &mut state.write().await; + let mut state = &mut state.read().await; if id as usize > state.turtles.len() { return Json(turtle::TurtleCommand::Update);