Skip to content

Commit d645f87

Browse files
committed
Rehabilitate run-pass/task-comm.rs
1 parent 3d9023f commit d645f87

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/test/run-pass/task-comm.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// xfail-test
21
use std;
32

43
import std::task;
@@ -19,7 +18,8 @@ fn main() {
1918
test06();
2019
}
2120

22-
fn test00_start(ch: chan<int>, message: int, count: int) {
21+
fn test00_start(&&args: (chan<int>, int, int)) {
22+
let (ch, message, count) = args;
2323
log "Starting test00_start";
2424
let i: int = 0;
2525
while i < count {
@@ -43,8 +43,8 @@ fn test00() {
4343
let tasks = [];
4444
while i < number_of_tasks {
4545
i = i + 1;
46-
let thunk = bind test00_start(ch, i, number_of_messages);
47-
tasks += [task::spawn_joinable(thunk)];
46+
tasks += [task::spawn_joinable(
47+
(ch, i, number_of_messages), test00_start)];
4848
}
4949
let sum: int = 0;
5050
for t in tasks {
@@ -90,7 +90,7 @@ fn test03() {
9090
log v.length();
9191
}
9292

93-
fn test04_start() {
93+
fn test04_start(&&_args: ()) {
9494
log "Started task";
9595
let i: int = 1024 * 1024;
9696
while i > 0 { i = i - 1; }
@@ -100,7 +100,7 @@ fn test04_start() {
100100
fn test04() {
101101
log "Spawning lots of tasks.";
102102
let i: int = 4;
103-
while i > 0 { i = i - 1; let f = test04_start; task::spawn(f); }
103+
while i > 0 { i = i - 1; task::spawn((), test04_start); }
104104
log "Finishing up.";
105105
}
106106

@@ -115,15 +115,15 @@ fn test05_start(ch: chan<int>) {
115115
fn test05() {
116116
let po = comm::port();
117117
let ch = chan(po);
118-
task::spawn(bind test05_start(ch));
118+
task::spawn(ch, test05_start);
119119
let value: int;
120120
value = recv(po);
121121
value = recv(po);
122122
value = recv(po);
123123
log value;
124124
}
125125

126-
fn test06_start(task_number: int) {
126+
fn test06_start(&&task_number: int) {
127127
log "Started task.";
128128
let i: int = 0;
129129
while i < 1000000 { i = i + 1; }
@@ -139,7 +139,7 @@ fn test06() {
139139
let tasks = [];
140140
while i < number_of_tasks {
141141
i = i + 1;
142-
tasks += [task::spawn_joinable(bind test06_start(i))];
142+
tasks += [task::spawn_joinable(copy i, test06_start)];
143143
}
144144

145145

0 commit comments

Comments
 (0)