diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/main/layout/layout_task.rs | 2 | ||||
-rw-r--r-- | src/components/util/workqueue.rs | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/components/main/layout/layout_task.rs b/src/components/main/layout/layout_task.rs index 28c305666ae..b9050816668 100644 --- a/src/components/main/layout/layout_task.rs +++ b/src/components/main/layout/layout_task.rs @@ -290,7 +290,7 @@ impl LayoutTask { let local_image_cache = MutexArc::new(LocalImageCache(image_cache_task.clone())); let screen_size = Size2D(Au(0), Au(0)); let parallel_traversal = if opts.layout_threads != 1 { - Some(WorkQueue::new(opts.layout_threads, ptr::mut_null())) + Some(WorkQueue::new("LayoutWorker", opts.layout_threads, ptr::mut_null())) } else { None }; diff --git a/src/components/util/workqueue.rs b/src/components/util/workqueue.rs index 93ea740c5a0..b5f4fc0799d 100644 --- a/src/components/util/workqueue.rs +++ b/src/components/util/workqueue.rs @@ -15,6 +15,7 @@ use std::rand::{Rng, XorShiftRng}; use std::rand; use std::sync::atomics::{AtomicUint, SeqCst}; use std::sync::deque::{Abort, BufferPool, Data, Empty, Stealer, Worker}; +use std::task::TaskOpts; /// A unit of work. /// @@ -200,7 +201,7 @@ pub struct WorkQueue<QUD,WUD> { impl<QUD:Send,WUD:Send> WorkQueue<QUD,WUD> { /// Creates a new work queue and spawns all the threads associated with /// it. - pub fn new(thread_count: uint, user_data: QUD) -> WorkQueue<QUD,WUD> { + pub fn new(task_name: &'static str, thread_count: uint, user_data: QUD) -> WorkQueue<QUD,WUD> { // Set up data structures. let (supervisor_port, supervisor_chan) = Chan::new(); let (mut infos, mut threads) = (~[], ~[]); @@ -235,7 +236,9 @@ impl<QUD:Send,WUD:Send> WorkQueue<QUD,WUD> { // Spawn threads. for thread in threads.move_iter() { - native::task::spawn(proc() { + let mut opts = TaskOpts::new(); + opts.name = Some(task_name.into_maybe_owned()); + native::task::spawn_opts(opts, proc() { let mut thread = thread; thread.start() }) |