general: Name spawned threads

This is for easier debugging in case a panic happens -
instead of dealing with "thread <unnamed> paniced...", etc.,
we get a name relevant to our context.
This commit is contained in:
Christopher Davis 2022-08-03 19:53:32 -04:00
parent d99215bfd1
commit 37f170b165
2 changed files with 12 additions and 8 deletions

View file

@ -152,10 +152,12 @@ impl LpImagePage {
async fn load_texture_from_file(file: &gio::File) -> Result<gdk::Texture, glib::Error> { async fn load_texture_from_file(file: &gio::File) -> Result<gdk::Texture, glib::Error> {
let (sender, receiver) = futures_channel::oneshot::channel(); let (sender, receiver) = futures_channel::oneshot::channel();
std::thread::spawn(clone!(@weak file => move || { let _ = std::thread::Builder::new()
let result = gdk::Texture::from_file(&file); .name("Load Texture".to_string())
sender.send(result).unwrap() .spawn(clone!(@weak file => move || {
})); let result = gdk::Texture::from_file(&file);
sender.send(result).unwrap()
}));
receiver.await.unwrap() receiver.await.unwrap()
} }

View file

@ -377,10 +377,12 @@ impl LpPropertiesView {
async fn parse_svg_file_future(path: std::path::PathBuf) -> anyhow::Result<svg_metadata::Metadata> { async fn parse_svg_file_future(path: std::path::PathBuf) -> anyhow::Result<svg_metadata::Metadata> {
let (sender, receiver) = futures_channel::oneshot::channel(); let (sender, receiver) = futures_channel::oneshot::channel();
std::thread::spawn(move || { let _ = std::thread::Builder::new()
let result = svg_metadata::Metadata::parse_file(path); .name("Parse SVG".to_string())
let _ = sender.send(result); .spawn(move || {
}); let result = svg_metadata::Metadata::parse_file(path);
let _ = sender.send(result);
});
receiver.await.unwrap().context("Could not load metadata") receiver.await.unwrap().context("Could not load metadata")
} }