extremely wip

This commit is contained in:
Simon Renblad 2024-09-02 17:08:00 +08:00
parent 049d0f2caa
commit b485bf16a7
2 changed files with 10 additions and 5 deletions

View File

@ -861,7 +861,9 @@ pub fn main(timer: GlobalTimer, cfg: Config) {
// keep yielding
}) => (),
_ = terminate.async_wait().fuse() => (),
_ = restart_idle.async_wait().fuse() => ()
_ = async {
restart_idle.async_wait().fuse(),
}
}
connection.signal();
});
@ -926,8 +928,10 @@ pub fn main(timer: GlobalTimer, cfg: Config) {
load_and_run_idle_kernel(&buffer, &control, &up_destinations, &aux_mutex, &routing_table, timer).await;
}
}).fuse() => (),
_ = terminate.async_wait().fuse() => (),
_ = restart_idle.async_wait().fuse() => ()
_ = (async {
restart_idle.0.async_wait().await;
restart_idle.1.signal();
}).fuse() => (),
}
drop(_lock);
}

View File

@ -201,10 +201,11 @@ async fn handle_connection(stream: &mut TcpStream, pull_id: Rc<RefCell<u32>>, cf
let value = cfg.write(&key, buffer);
if value.is_ok() {
debug!("write success");
write_i8(stream, Reply::Success as i8).await?;
if key == "idle_kernel" {
restart_idle.signal();
restart_idle.1.async_wait().await?;
restart_idle.0.signal();
}
write_i8(stream, Reply::Success as i8).await?;
} else {
// this is an error because we do not expect write to fail
error!("failed to write: {:?}", value);