diff options
Diffstat (limited to 'engine/src/windowing.rs')
| -rw-r--r-- | engine/src/windowing.rs | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/engine/src/windowing.rs b/engine/src/windowing.rs index 03e0ff8..a10b7c1 100644 --- a/engine/src/windowing.rs +++ b/engine/src/windowing.rs @@ -1,6 +1,6 @@ use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::{Arc, Weak}; -use std::thread::{JoinHandle as ThreadJoinHandle, spawn}; +use std::thread::{Builder as ThreadBuilder, JoinHandle as ThreadJoinHandle}; use crossbeam_channel::{ Receiver as ChannelReceiver, @@ -361,30 +361,33 @@ impl Default for Context bounded_channel::<MessageToApp>(MESSAGE_TO_APP_CHANNEL_CAP); Self { - _thread: spawn(move || { - let mut app = App { - message_from_app_sender, - message_from_app_receiver: message_from_app_receiver_b, - message_to_app_receiver, - is_dropped: is_dropped_b, - windows: MapVec::default(), - focused_window_id: None, - }; + _thread: ThreadBuilder::new() + .name("windowing".to_string()) + .spawn(move || { + let mut app = App { + message_from_app_sender, + message_from_app_receiver: message_from_app_receiver_b, + message_to_app_receiver, + is_dropped: is_dropped_b, + windows: MapVec::default(), + focused_window_id: None, + }; - let event_loop = match create_event_loop() { - Ok(event_loop) => event_loop, - Err(err) => { - tracing::error!("Failed to create event loop: {err}"); - return; - } - }; + let event_loop = match create_event_loop() { + Ok(event_loop) => event_loop, + Err(err) => { + tracing::error!("Failed to create event loop: {err}"); + return; + } + }; - event_loop.set_control_flow(EventLoopControlFlow::Poll); + event_loop.set_control_flow(EventLoopControlFlow::Poll); - if let Err(err) = event_loop.run_app(&mut app) { - tracing::error!("Event loop error occurred: {err}"); - } - }), + if let Err(err) = event_loop.run_app(&mut app) { + tracing::error!("Event loop error occurred: {err}"); + } + }) + .expect("Failed to create windowing thread"), is_dropped, message_from_app_receiver, message_to_app_sender, |
