forked from M-Labs/artiq
1
0
Fork 0

firmware: block session on startup kernel to be finished (#2046)

This commit is contained in:
Egor Savkin 2023-01-19 16:46:53 +08:00 committed by GitHub
parent 3f5cc4aa10
commit 394138f00f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 18 deletions

View File

@ -607,15 +607,9 @@ pub fn thread(io: Io, aux_mutex: &Mutex,
let mut kernel_thread = None; let mut kernel_thread = None;
{ {
let aux_mutex = aux_mutex.clone();
let routing_table = routing_table.clone();
let up_destinations = up_destinations.clone();
let congress = congress.clone();
respawn(&io, &mut kernel_thread, move |io| {
let routing_table = routing_table.borrow();
let mut congress = congress.borrow_mut(); let mut congress = congress.borrow_mut();
info!("running startup kernel"); info!("running startup kernel");
match flash_kernel_worker(&io, &aux_mutex, &routing_table, &up_destinations, &mut congress, "startup_kernel") { match flash_kernel_worker(&io, &aux_mutex, &routing_table.borrow(), &up_destinations, &mut congress, "startup_kernel") {
Ok(()) => Ok(()) =>
info!("startup kernel finished"), info!("startup kernel finished"),
Err(Error::KernelNotFound) => Err(Error::KernelNotFound) =>
@ -625,7 +619,6 @@ pub fn thread(io: Io, aux_mutex: &Mutex,
error!("startup kernel aborted: {}", err); error!("startup kernel aborted: {}", err);
} }
} }
})
} }
loop { loop {