move from gio thread to std thread to fix async terminal logging
This commit is contained in:
parent
afaface914
commit
fbd14c849b
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -1,4 +1,4 @@
|
|||||||
pika-drivers (1.0.0-100pika4) pikauwu; urgency=medium
|
pika-drivers (1.0.0-100pika5) pikauwu; urgency=medium
|
||||||
|
|
||||||
* Temp internet check fix
|
* Temp internet check fix
|
||||||
|
|
||||||
|
@ -326,7 +326,6 @@ fn get_drivers(
|
|||||||
let driver_package_removeble = driver.removeble.to_owned();
|
let driver_package_removeble = driver.removeble.to_owned();
|
||||||
|
|
||||||
gio::spawn_blocking(move || loop {
|
gio::spawn_blocking(move || loop {
|
||||||
thread::sleep(Duration::from_secs(5));
|
|
||||||
let command_installed_status = Command::new("dpkg")
|
let command_installed_status = Command::new("dpkg")
|
||||||
.args(["-s", &driver_package_ind2])
|
.args(["-s", &driver_package_ind2])
|
||||||
.output()
|
.output()
|
||||||
@ -336,6 +335,7 @@ fn get_drivers(
|
|||||||
} else {
|
} else {
|
||||||
driver_status_loop_sender.send_blocking(false).expect("channel needs to be open")
|
driver_status_loop_sender.send_blocking(false).expect("channel needs to be open")
|
||||||
}
|
}
|
||||||
|
thread::sleep(Duration::from_secs(6));
|
||||||
});
|
});
|
||||||
|
|
||||||
let driver_package_ind = driver.driver.to_owned();
|
let driver_package_ind = driver.driver.to_owned();
|
||||||
@ -491,19 +491,22 @@ fn get_drivers(
|
|||||||
.expect("systemctl reboot failed to start");
|
.expect("systemctl reboot failed to start");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
gio::spawn_blocking(clone!(@strong log_loop_sender, @strong log_status_loop_sender, @strong driver_package_ind => move || {
|
let log_status_loop_sender_clone = log_status_loop_sender.clone();
|
||||||
let command = driver_modify(log_loop_sender, &driver_package_ind);
|
let log_loop_sender_clone= log_loop_sender.clone();
|
||||||
|
let driver_package_ind_clone = driver_package_ind.clone();
|
||||||
|
std::thread::spawn(move || {
|
||||||
|
let command = driver_modify(log_loop_sender_clone, &driver_package_ind_clone);
|
||||||
match command {
|
match command {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
println!("Status: Driver modify Successful");
|
println!("Status: Driver modify Successful");
|
||||||
log_status_loop_sender.send_blocking(true).expect("The channel needs to be open.");
|
log_status_loop_sender_clone.send_blocking(true).expect("The channel needs to be open.");
|
||||||
}
|
}
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
println!("Status: Driver modify Failed");
|
println!("Status: Driver modify Failed");
|
||||||
log_status_loop_sender.send_blocking(false).expect("The channel needs to be open.");
|
log_status_loop_sender_clone.send_blocking(false).expect("The channel needs to be open.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
});
|
||||||
}));
|
}));
|
||||||
driver_remove_button.connect_clicked(clone!(@weak driver_install_log_terminal,@weak driver_install_log_terminal_buffer, @weak driver_install_dialog, @strong log_loop_sender, @strong log_status_loop_sender, @strong driver_package_ind => move |_| {
|
driver_remove_button.connect_clicked(clone!(@weak driver_install_log_terminal,@weak driver_install_log_terminal_buffer, @weak driver_install_dialog, @strong log_loop_sender, @strong log_status_loop_sender, @strong driver_package_ind => move |_| {
|
||||||
driver_install_log_terminal_buffer.delete(&mut driver_install_log_terminal_buffer.bounds().0, &mut driver_install_log_terminal_buffer.bounds().1);
|
driver_install_log_terminal_buffer.delete(&mut driver_install_log_terminal_buffer.bounds().0, &mut driver_install_log_terminal_buffer.bounds().1);
|
||||||
@ -518,19 +521,22 @@ fn get_drivers(
|
|||||||
.expect("systemctl reboot failed to start");
|
.expect("systemctl reboot failed to start");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
gio::spawn_blocking(clone!(@strong log_loop_sender, @strong log_status_loop_sender, @strong driver_package_ind => move || {
|
let log_status_loop_sender_clone = log_status_loop_sender.clone();
|
||||||
let command = driver_modify(log_loop_sender, &driver_package_ind);
|
let log_loop_sender_clone= log_loop_sender.clone();
|
||||||
|
let driver_package_ind_clone = driver_package_ind.clone();
|
||||||
|
std::thread::spawn(move || {
|
||||||
|
let command = driver_modify(log_loop_sender_clone, &driver_package_ind_clone);
|
||||||
match command {
|
match command {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
println!("Status: Driver modify Successful");
|
println!("Status: Driver modify Successful");
|
||||||
log_status_loop_sender.send_blocking(true).expect("The channel needs to be open.");
|
log_status_loop_sender_clone.send_blocking(true).expect("The channel needs to be open.");
|
||||||
}
|
}
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
println!("Status: Driver modify Failed");
|
println!("Status: Driver modify Failed");
|
||||||
log_status_loop_sender.send_blocking(false).expect("The channel needs to be open.");
|
log_status_loop_sender_clone.send_blocking(false).expect("The channel needs to be open.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
});
|
||||||
}));
|
}));
|
||||||
//
|
//
|
||||||
drivers_list_row.append(&driver_expander_row);
|
drivers_list_row.append(&driver_expander_row);
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.startLabel {
|
.startLabel {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user