diff --git a/src/client/tasks.rs b/src/client/tasks.rs index 5e49ef0d..97d2fb88 100644 --- a/src/client/tasks.rs +++ b/src/client/tasks.rs @@ -137,5 +137,8 @@ async fn send(data: Rc) { ); } } - data.state.clients.kill(data.id); + let run_toplevel = data.state.run_toplevel.clone(); + run_toplevel.schedule(move || { + data.state.clients.kill(data.id); + }); } diff --git a/src/ei/ei_client.rs b/src/ei/ei_client.rs index da3684ce..185604d3 100644 --- a/src/ei/ei_client.rs +++ b/src/ei/ei_client.rs @@ -230,10 +230,10 @@ impl EiClient { match self.connection.get() { Some(d) => { d.send_disconnected(Some(&msg)); - self.state.clients.shutdown(self.id); + self.state.ei_clients.shutdown(self.id); } _ => { - self.state.clients.kill(self.id); + self.state.ei_clients.kill(self.id); } } }