mirror of
https://github.com/servo/servo.git
synced 2025-08-04 05:00:08 +01:00
Explicitly spawn a native task for workers.
This commit is contained in:
parent
c40ad756e6
commit
9524f8daa7
2 changed files with 7 additions and 3 deletions
|
@ -15,7 +15,8 @@ use servo_net::resource_task::load_whole_resource;
|
||||||
use servo_util::str::DOMString;
|
use servo_util::str::DOMString;
|
||||||
use servo_util::url::try_parse_url;
|
use servo_util::url::try_parse_url;
|
||||||
|
|
||||||
use std::task::TaskBuilder;
|
use native;
|
||||||
|
use rustrt::task::TaskOpts;
|
||||||
|
|
||||||
#[deriving(Encodable)]
|
#[deriving(Encodable)]
|
||||||
pub struct Worker {
|
pub struct Worker {
|
||||||
|
@ -42,9 +43,11 @@ impl Worker {
|
||||||
Err(_) => return Err(Syntax),
|
Err(_) => return Err(Syntax),
|
||||||
};
|
};
|
||||||
|
|
||||||
let name = format!("Web Worker at {}", worker_url);
|
|
||||||
let resource_task = global.page().resource_task.deref().clone();
|
let resource_task = global.page().resource_task.deref().clone();
|
||||||
TaskBuilder::new().named(name).spawn(proc() {
|
|
||||||
|
let mut task_opts = TaskOpts::new();
|
||||||
|
task_opts.name = Some(format!("Web Worker at {}", worker_url).into_maybe_owned());
|
||||||
|
native::task::spawn_opts(task_opts, proc() {
|
||||||
let roots = RootCollection::new();
|
let roots = RootCollection::new();
|
||||||
let _stack_roots_tls = StackRootTLS::new(&roots);
|
let _stack_roots_tls = StackRootTLS::new(&roots);
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ extern crate js;
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
extern crate native;
|
extern crate native;
|
||||||
extern crate net;
|
extern crate net;
|
||||||
|
extern crate rustrt;
|
||||||
extern crate serialize;
|
extern crate serialize;
|
||||||
extern crate time;
|
extern crate time;
|
||||||
#[phase(plugin)]
|
#[phase(plugin)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue