Responding to review comments

This commit is contained in:
Alan Jeffrey 2018-11-05 09:57:26 -06:00
parent 57085eea6a
commit 747122fb63

View file

@ -233,14 +233,19 @@ pub unsafe extern "C" fn discard_servo(servo: *mut ServoInstance) {
if let Some(servo) = servo.as_mut() { if let Some(servo) = servo.as_mut() {
let mut servo = Box::from_raw(servo); let mut servo = Box::from_raw(servo);
let finish = Instant::now() + SHUTDOWN_DURATION; let finish = Instant::now() + SHUTDOWN_DURATION;
'outer: while Instant::now() < finish { servo.servo.handle_events(vec![WindowEvent::Quit]);
servo.servo.handle_events(vec![WindowEvent::Quit]); 'outer: loop {
for (_, msg) in servo.servo.get_events() { for (_, msg) in servo.servo.get_events() {
if let EmbedderMsg::Shutdown = msg { if let EmbedderMsg::Shutdown = msg {
break 'outer; break 'outer;
} }
} }
if Instant::now() > finish {
warn!("Incomplete shutdown.");
break 'outer;
}
thread::sleep(SHUTDOWN_POLL_INTERVAL); thread::sleep(SHUTDOWN_POLL_INTERVAL);
servo.servo.handle_events(vec![]);
} }
servo.servo.deinit(); servo.servo.deinit();
} }