Skip to content

Commit 076b409

Browse files
committed
---
yaml --- r: 40562 b: refs/heads/dist-snap c: 4a2a375 h: refs/heads/master v: v3
1 parent 5add3d1 commit 076b409

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278
99
refs/heads/incoming: e90142e536c150df0d9b4b2f11352152177509b5
10-
refs/heads/dist-snap: 65bd40e300323f1e4806dd84834b8d71bb89c08c
10+
refs/heads/dist-snap: 4a2a375fbfb02abdf51e598660c44dda6032d282
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1212
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1313
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/librustdoc/markdown_writer.rs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -101,19 +101,17 @@ fn pandoc_writer(
101101
os::close(pipe_err.out);
102102
os::close(pipe_in.out);
103103
104-
let stdout_po = comm::Port();
105-
let stdout_ch = comm::Chan(&stdout_po);
106-
do task::spawn_sched(task::SingleThreaded) {
107-
comm::send(stdout_ch, readclose(pipe_out.in));
104+
let (stdout_ch, stdout_po) = pipes::stream();
105+
do task::spawn_sched(task::SingleThreaded) |move stdout_ch| {
106+
stdout_ch.send(readclose(pipe_out.in));
108107
}
109-
let stdout = comm::recv(stdout_po);
110108
111-
let stderr_po = comm::Port();
112-
let stderr_ch = comm::Chan(&stderr_po);
113-
do task::spawn_sched(task::SingleThreaded) {
114-
comm::send(stderr_ch, readclose(pipe_err.in));
109+
let (stderr_ch, stderr_po) = pipes::stream();
110+
do task::spawn_sched(task::SingleThreaded) |move stderr_ch| {
111+
stderr_ch.send(readclose(pipe_err.in));
115112
}
116-
let stderr = comm::recv(stderr_po);
113+
let stdout = stdout_po.recv();
114+
let stderr = stderr_po.recv();
117115
118116
let status = run::waitpid(pid);
119117
debug!("pandoc result: %i", status);
@@ -141,18 +139,23 @@ fn readclose(fd: libc::c_int) -> ~str {
141139
}
142140
143141
fn generic_writer(+process: fn~(+markdown: ~str)) -> Writer {
144-
let ch = do task::spawn_listener
145-
|move process, po: comm::Port<WriteInstr>| {
142+
let (setup_ch, setup_po) = pipes::stream();
143+
do task::spawn |move process, move setup_ch| {
144+
let po: comm::Port<WriteInstr> = comm::Port();
145+
let ch = comm::Chan(&po);
146+
setup_ch.send(ch);
147+
146148
let mut markdown = ~"";
147149
let mut keep_going = true;
148150
while keep_going {
149-
match comm::recv(po) {
151+
match po.recv() {
150152
Write(s) => markdown += s,
151153
Done => keep_going = false
152154
}
153155
}
154156
process(move markdown);
155157
};
158+
let ch = setup_po.recv();
156159
157160
fn~(+instr: WriteInstr) {
158161
comm::send(ch, instr);
@@ -266,15 +269,14 @@ pub fn future_writer_factory(
266269
let markdown_po = comm::Port();
267270
let markdown_ch = comm::Chan(&markdown_po);
268271
let writer_factory = fn~(+page: doc::Page) -> Writer {
269-
let writer_po = comm::Port();
270-
let writer_ch = comm::Chan(&writer_po);
271-
do task::spawn {
272+
let (writer_ch, writer_po) = pipes::stream();
273+
do task::spawn |move writer_ch| {
272274
let (writer, future) = future_writer();
273-
comm::send(writer_ch, move writer);
275+
writer_ch.send(move writer);
274276
let s = future::get(&future);
275277
comm::send(markdown_ch, (page, s));
276278
}
277-
comm::recv(writer_po)
279+
writer_po.recv()
278280
};
279281
280282
(move writer_factory, markdown_po)

0 commit comments

Comments
 (0)