automatically collect garbage

This commit is contained in:
Aleksey Kladov 2019-01-26 20:33:33 +03:00
parent 19f77603c0
commit 7801f6b50f
8 changed files with 75 additions and 25 deletions

View file

@ -172,6 +172,7 @@ fn main_loop_inner(
let (libdata_sender, libdata_receiver) = unbounded();
loop {
state.maybe_collect_garbage();
log::trace!("selecting");
let event = select! {
recv(msg_receiver) -> msg => match msg {
@ -207,7 +208,7 @@ fn main_loop_inner(
};
match req.cast::<req::CollectGarbage>() {
Ok((id, ())) => {
state.collect_garbadge();
state.collect_garbage();
let resp = RawResponse::ok::<req::CollectGarbage>(id, &());
msg_sender.send(RawMessage::Response(resp)).unwrap()
}

View file

@ -232,7 +232,11 @@ impl ServerWorldState {
}
}
pub fn collect_garbadge(&mut self) {
pub fn maybe_collect_garbage(&mut self) {
self.analysis_host.maybe_collect_garbage()
}
pub fn collect_garbage(&mut self) {
self.analysis_host.collect_garbage()
}
}