1
0

process::exit if the HapticsWorker dies

This commit is contained in:
Daniel Prilik
2020-11-16 16:36:28 -05:00
parent bcb0194c80
commit b484872be8
2 changed files with 6 additions and 2 deletions

View File

@@ -58,7 +58,7 @@ impl DialHapticsWorker {
eprintln!("haptics worker is ready"); eprintln!("haptics worker is ready");
let api = HidApi::new().map_err(Error::HidError)?; let api = HidApi::new().map_err(Error::HidError)?;
let hid_device = api.open(0x045e, 0x091b).map_err(|_| Error::MissingDial)?; let hid_device = api.open(0x045e, 0x091b).map_err(Error::HidError)?;
let wrapper = DialHidWrapper { hid_device }; let wrapper = DialHidWrapper { hid_device };
loop { loop {

View File

@@ -69,8 +69,12 @@ impl DialDevice {
std::thread::spawn({ std::thread::spawn({
let mut worker = DialHapticsWorker::new(haptics_msg_rx)?; let mut worker = DialHapticsWorker::new(haptics_msg_rx)?;
move || { move || {
worker.run().unwrap(); if let Err(err) = worker.run() {
eprintln!("Unexpected haptics worker error! {}", err);
}
eprintln!("the haptics worker died!"); eprintln!("the haptics worker died!");
// there's no coming back from this.
std::process::exit(0);
} }
}); });