std: Move spawn_high_level_loop to uv::hl
This commit is contained in:
parent
d4db1beabf
commit
59262dfc62
2 changed files with 31 additions and 28 deletions
|
@ -7,7 +7,6 @@ export get, get_monitor_task_gl;
|
||||||
import ll = uv_ll;
|
import ll = uv_ll;
|
||||||
import hl = uv_hl;
|
import hl = uv_hl;
|
||||||
import get_gl = get;
|
import get_gl = get;
|
||||||
import task::{run, single_threaded};
|
|
||||||
import priv::{chan_from_global_ptr, weaken_task};
|
import priv::{chan_from_global_ptr, weaken_task};
|
||||||
import comm::{port, chan, methods, select2, listen};
|
import comm::{port, chan, methods, select2, listen};
|
||||||
import either::{left, right};
|
import either::{left, right};
|
||||||
|
@ -45,7 +44,7 @@ fn get_monitor_task_gl() -> hl::high_level_loop unsafe {
|
||||||
task::set_opts(builder, {
|
task::set_opts(builder, {
|
||||||
supervise: false,
|
supervise: false,
|
||||||
sched: some({
|
sched: some({
|
||||||
mode: single_threaded,
|
mode: task::single_threaded,
|
||||||
native_stack_size: none
|
native_stack_size: none
|
||||||
})
|
})
|
||||||
with task::get_opts(builder)
|
with task::get_opts(builder)
|
||||||
|
@ -111,30 +110,7 @@ fn spawn_loop() -> hl::high_level_loop unsafe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
spawn_high_level_loop(builder)
|
hl::spawn_high_level_loop(builder)
|
||||||
}
|
|
||||||
|
|
||||||
fn spawn_high_level_loop(-builder: task::builder
|
|
||||||
) -> hl::high_level_loop unsafe {
|
|
||||||
|
|
||||||
let hll_po = port::<hl::high_level_loop>();
|
|
||||||
let hll_ch = hll_po.chan();
|
|
||||||
|
|
||||||
task::set_opts(builder, {
|
|
||||||
sched: some({
|
|
||||||
mode: single_threaded,
|
|
||||||
native_stack_size: none
|
|
||||||
})
|
|
||||||
with task::get_opts(builder)
|
|
||||||
});
|
|
||||||
|
|
||||||
run(builder) {||
|
|
||||||
#debug("entering libuv task");
|
|
||||||
hl::run_high_level_loop(hll_ch);
|
|
||||||
#debug("libuv task exiting");
|
|
||||||
};
|
|
||||||
|
|
||||||
hll_po.recv()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
|
@ -6,8 +6,10 @@ provide a high-level, abstracted interface to some set of
|
||||||
libuv functionality.
|
libuv functionality.
|
||||||
"];
|
"];
|
||||||
|
|
||||||
export high_level_loop, high_level_msg;
|
export high_level_loop;
|
||||||
export run_high_level_loop, interact, exit;
|
export spawn_high_level_loop;
|
||||||
|
export interact;
|
||||||
|
export exit;
|
||||||
|
|
||||||
import libc::c_void;
|
import libc::c_void;
|
||||||
import ptr::addr_of;
|
import ptr::addr_of;
|
||||||
|
@ -22,6 +24,31 @@ enum high_level_loop = {
|
||||||
op_chan: chan<high_level_msg>
|
op_chan: chan<high_level_msg>
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fn spawn_high_level_loop(-builder: task::builder
|
||||||
|
) -> high_level_loop unsafe {
|
||||||
|
|
||||||
|
import task::{set_opts, get_opts, single_threaded, run};
|
||||||
|
|
||||||
|
let hll_po = port::<high_level_loop>();
|
||||||
|
let hll_ch = hll_po.chan();
|
||||||
|
|
||||||
|
set_opts(builder, {
|
||||||
|
sched: some({
|
||||||
|
mode: single_threaded,
|
||||||
|
native_stack_size: none
|
||||||
|
})
|
||||||
|
with get_opts(builder)
|
||||||
|
});
|
||||||
|
|
||||||
|
run(builder) {||
|
||||||
|
#debug("entering libuv task");
|
||||||
|
run_high_level_loop(hll_ch);
|
||||||
|
#debug("libuv task exiting");
|
||||||
|
};
|
||||||
|
|
||||||
|
hll_po.recv()
|
||||||
|
}
|
||||||
|
|
||||||
#[doc="
|
#[doc="
|
||||||
Represents the range of interactions with a `high_level_loop`
|
Represents the range of interactions with a `high_level_loop`
|
||||||
"]
|
"]
|
||||||
|
|
Loading…
Reference in a new issue