diff --git a/src/device/timer.rs b/src/device/timer.rs index 8f7efa1..ad137c2 100644 --- a/src/device/timer.rs +++ b/src/device/timer.rs @@ -10,14 +10,14 @@ pub struct Timer { } impl Timer { - pub const TIMER_THREAD_NAME: String = "Timer".into(); + pub const TIMER_THREAD_NAME: &str = "Timer"; pub fn new() -> Timer { Timer { timer_left: Arc::new(Mutex::default()), join_handle: None } } pub fn start(&mut self) { let timer_left_ref = self.timer_left.clone(); let (sender, receiver) = std::sync::mpsc::channel(); - let res = std::thread::Builder::new().name(Self::TIMER_THREAD_NAME).spawn(move || { + let res = std::thread::Builder::new().name(Self::TIMER_THREAD_NAME.into()).spawn(move || { loop { let val = receiver.try_recv(); if let Ok(()) = val { @@ -33,7 +33,7 @@ impl Timer { } sleep(Duration::from_secs_f32(1f32 / 60f32)); } - }); + }).expect("Failed to start timer thread"); self.join_handle = Some((res, sender)); } /// Set a timer down tick from `val` diff --git a/src/main.rs b/src/main.rs index ca36f6d..376c37f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -37,11 +37,11 @@ fn main() -> EmulatorResult<()> { timer.start(); let (frame_buffer_for_display, frame_buffer_for_device) = get_frame_buffer_references(); - + let (sdl_kb_adapter,device_keyboard) = SdlKeyboardAdapter::new_keyboard(); let (termination_signal_sender, termination_signal_sender_receiver) = std::sync::mpsc::channel(); - + let compute_handle = thread::Builder::new().name("Compute".to_string()).spawn(move || { do_device_loop(timer, frame_buffer_for_device, termination_signal_sender_receiver, device_keyboard); })?;