Skip to content

Commit 59262df

Browse files
committed
std: Move spawn_high_level_loop to uv::hl
1 parent d4db1be commit 59262df

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

src/libstd/uv_global_loop.rs

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export get, get_monitor_task_gl;
77
import ll = uv_ll;
88
import hl = uv_hl;
99
import get_gl = get;
10-
import task::{run, single_threaded};
1110
import priv::{chan_from_global_ptr, weaken_task};
1211
import comm::{port, chan, methods, select2, listen};
1312
import either::{left, right};
@@ -45,7 +44,7 @@ fn get_monitor_task_gl() -> hl::high_level_loop unsafe {
4544
task::set_opts(builder, {
4645
supervise: false,
4746
sched: some({
48-
mode: single_threaded,
47+
mode: task::single_threaded,
4948
native_stack_size: none
5049
})
5150
with task::get_opts(builder)
@@ -111,30 +110,7 @@ fn spawn_loop() -> hl::high_level_loop unsafe {
111110
}
112111
}
113112
}
114-
spawn_high_level_loop(builder)
115-
}
116-
117-
fn spawn_high_level_loop(-builder: task::builder
118-
) -> hl::high_level_loop unsafe {
119-
120-
let hll_po = port::<hl::high_level_loop>();
121-
let hll_ch = hll_po.chan();
122-
123-
task::set_opts(builder, {
124-
sched: some({
125-
mode: single_threaded,
126-
native_stack_size: none
127-
})
128-
with task::get_opts(builder)
129-
});
130-
131-
run(builder) {||
132-
#debug("entering libuv task");
133-
hl::run_high_level_loop(hll_ch);
134-
#debug("libuv task exiting");
135-
};
136-
137-
hll_po.recv()
113+
hl::spawn_high_level_loop(builder)
138114
}
139115

140116
#[cfg(test)]

src/libstd/uv_hl.rs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ provide a high-level, abstracted interface to some set of
66
libuv functionality.
77
"];
88

9-
export high_level_loop, high_level_msg;
10-
export run_high_level_loop, interact, exit;
9+
export high_level_loop;
10+
export spawn_high_level_loop;
11+
export interact;
12+
export exit;
1113

1214
import libc::c_void;
1315
import ptr::addr_of;
@@ -22,6 +24,31 @@ enum high_level_loop = {
2224
op_chan: chan<high_level_msg>
2325
};
2426

27+
fn spawn_high_level_loop(-builder: task::builder
28+
) -> high_level_loop unsafe {
29+
30+
import task::{set_opts, get_opts, single_threaded, run};
31+
32+
let hll_po = port::<high_level_loop>();
33+
let hll_ch = hll_po.chan();
34+
35+
set_opts(builder, {
36+
sched: some({
37+
mode: single_threaded,
38+
native_stack_size: none
39+
})
40+
with get_opts(builder)
41+
});
42+
43+
run(builder) {||
44+
#debug("entering libuv task");
45+
run_high_level_loop(hll_ch);
46+
#debug("libuv task exiting");
47+
};
48+
49+
hll_po.recv()
50+
}
51+
2552
#[doc="
2653
Represents the range of interactions with a `high_level_loop`
2754
"]

0 commit comments

Comments
 (0)