servo: Merge #4911 - Cleanup join_layout a little bit (from Ms2ger:join_layout); r=jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: c5a4e78302fab9c40a0ed946663cf4609969cdb8
This commit is contained in:
Ms2ger 2015-02-13 02:24:50 -07:00
parent c7d0095a59
commit b8800f2bb7

View File

@ -327,25 +327,19 @@ impl Page {
/// layout task has finished any pending request messages.
fn join_layout(&self) {
let mut layout_join_port = self.layout_join_port.borrow_mut();
if layout_join_port.is_some() {
let join_port = replace(&mut *layout_join_port, None);
match join_port {
Some(ref join_port) => {
match join_port.try_recv() {
Err(Empty) => {
info!("script: waiting on layout");
join_port.recv().unwrap();
}
Ok(_) => {}
Err(Disconnected) => {
panic!("Layout task failed while script was waiting for a result.");
}
}
debug!("script: layout joined")
if let Some(join_port) = replace(&mut *layout_join_port, None) {
match join_port.try_recv() {
Err(Empty) => {
info!("script: waiting on layout");
join_port.recv().unwrap();
}
Ok(_) => {}
Err(Disconnected) => {
panic!("Layout task failed while script was waiting for a result.");
}
None => panic!("reader forked but no join port?"),
}
debug!("script: layout joined")
}
}