diff options
author | Ms2ger <Ms2ger@gmail.com> | 2015-11-16 12:41:25 +0100 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2015-11-16 12:41:25 +0100 |
commit | a2c08413dd096380de5b02f4d668e038b8c78f7d (patch) | |
tree | 203c0c472881a66e157c0b27457c7f4d15036a0c /components/layout/layout_task.rs | |
parent | 0293aa2e522c9c400dc7deed4ab4595ff8bb3123 (diff) | |
download | servo-a2c08413dd096380de5b02f4d668e038b8c78f7d.tar.gz servo-a2c08413dd096380de5b02f4d668e038b8c78f7d.zip |
Remove AutoJoinScriptTask.
I don't believe there is a case where it would make sense to drop the
ScriptReflow struct without joining the script thread. This approach should
be somewhat more robust, and avoids the code smell of a RAII guard in an
otherwise unused variable.
Diffstat (limited to 'components/layout/layout_task.rs')
-rw-r--r-- | components/layout/layout_task.rs | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index f4e304aca5d..7975dd08685 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -61,7 +61,7 @@ use std::borrow::ToOwned; use std::collections::HashMap; use std::collections::hash_state::DefaultState; use std::mem::transmute; -use std::ops::{Deref, DerefMut, Drop}; +use std::ops::{Deref, DerefMut}; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::mpsc::{channel, Sender, Receiver}; use std::sync::{Arc, Mutex, MutexGuard}; @@ -1063,16 +1063,6 @@ impl LayoutTask { fn handle_reflow<'a, 'b>(&mut self, data: &ScriptReflow, possibly_locked_rw_data: &mut RwData<'a, 'b>) { - // Make sure that every return path from this method joins the script task, - // otherwise the script task will panic. - struct AutoJoinScriptTask<'a> { data: &'a ScriptReflow }; - impl<'a> Drop for AutoJoinScriptTask<'a> { - fn drop(&mut self) { - self.data.script_join_chan.send(()).unwrap(); - } - }; - let _ajst = AutoJoinScriptTask { data: data }; - let document = unsafe { LayoutNode::new(&data.document) }; let document = document.as_document().unwrap(); |