process::exit if the HapticsWorker dies
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user