Skip to content

Commit 05120dc

Browse files
aturonalexcrichton
authored andcommitted
---
yaml --- r: 121311 b: refs/heads/dist-snap c: f993495 h: refs/heads/master i: 121309: 0566789 121307: c73073e 121303: 0927ef4 121295: b59622a 121279: eefc5b4 v: v3
1 parent 8212d85 commit 05120dc

File tree

15 files changed

+47
-81
lines changed

15 files changed

+47
-81
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: 1813e5aa1a03b0596b8de7abd1af31edf5d6098f
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: a23511a65de7cce47aa12541de60df72b10eb2eb
9+
refs/heads/dist-snap: f99349556014f9f2cb86814477248d46931b3048
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/librustc/driver/mod.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -366,22 +366,19 @@ fn monitor(f: proc():Send) {
366366
#[cfg(not(rtopt))]
367367
static STACK_SIZE: uint = 20000000; // 20MB
368368

369-
let mut task_builder = TaskBuilder::new().named("rustc");
369+
let (tx, rx) = channel();
370+
let w = io::ChanWriter::new(tx);
371+
let mut r = io::ChanReader::new(rx);
372+
373+
let mut task = TaskBuilder::new().named("rustc").stderr(box w);
370374

371375
// FIXME: Hacks on hacks. If the env is trying to override the stack size
372376
// then *don't* set it explicitly.
373377
if os::getenv("RUST_MIN_STACK").is_none() {
374-
task_builder.opts.stack_size = Some(STACK_SIZE);
378+
task = task.stack_size(STACK_SIZE);
375379
}
376380

377-
let (tx, rx) = channel();
378-
let w = io::ChanWriter::new(tx);
379-
let mut r = io::ChanReader::new(rx);
380-
381-
match task_builder.try(proc() {
382-
io::stdio::set_stderr(box w);
383-
f()
384-
}) {
381+
match task.try(f) {
385382
Ok(()) => { /* fallthrough */ }
386383
Err(value) => {
387384
// Task failed without emitting a fatal diagnostic

branches/dist-snap/src/libsync/lock.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ mod tests {
459459
use std::prelude::*;
460460
use std::comm::Empty;
461461
use std::task;
462-
use std::task::TaskBuilder;
462+
use std::task::try_future;
463463

464464
use Arc;
465465
use super::{Mutex, Barrier, RWLock};
@@ -629,17 +629,15 @@ mod tests {
629629
let mut children = Vec::new();
630630
for _ in range(0, 5) {
631631
let arc3 = arc.clone();
632-
let mut builder = TaskBuilder::new();
633-
children.push(builder.future_result());
634-
builder.spawn(proc() {
632+
children.push(try_future(proc() {
635633
let lock = arc3.read();
636634
assert!(*lock >= 0);
637-
});
635+
}));
638636
}
639637

640638
// Wait for children to pass their asserts
641639
for r in children.mut_iter() {
642-
assert!(r.recv().is_ok());
640+
assert!(r.get_ref().is_ok());
643641
}
644642

645643
// Wait for writer to finish

branches/dist-snap/src/libtest/lib.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,14 +1049,13 @@ pub fn run_test(opts: &TestOpts,
10491049
if nocapture {
10501050
drop((stdout, stderr));
10511051
} else {
1052-
task.opts.stdout = Some(box stdout as Box<Writer + Send>);
1053-
task.opts.stderr = Some(box stderr as Box<Writer + Send>);
1052+
task = task.stdout(box stdout as Box<Writer + Send>);
1053+
task = task.stderr(box stderr as Box<Writer + Send>);
10541054
}
1055-
let result_future = task.future_result();
1056-
task.spawn(testfn);
1055+
let result_future = task.try_future(testfn);
10571056

10581057
let stdout = reader.read_to_end().unwrap().move_iter().collect();
1059-
let task_result = result_future.recv();
1058+
let task_result = result_future.unwrap();
10601059
let test_result = calc_result(&desc, task_result.is_ok());
10611060
monitor_ch.send((desc.clone(), test_result, stdout));
10621061
})

branches/dist-snap/src/test/bench/msgsend-pipes-shared.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ extern crate debug;
2424
use std::comm;
2525
use std::os;
2626
use std::task;
27-
use std::task::TaskBuilder;
2827
use std::uint;
2928

3029
fn move_out<T>(_x: T) {}
@@ -64,22 +63,20 @@ fn run(args: &[String]) {
6463
let mut worker_results = Vec::new();
6564
for _ in range(0u, workers) {
6665
let to_child = to_child.clone();
67-
let mut builder = TaskBuilder::new();
68-
worker_results.push(builder.future_result());
69-
builder.spawn(proc() {
66+
worker_results.push(task::try_future(proc() {
7067
for _ in range(0u, size / workers) {
7168
//println!("worker {:?}: sending {:?} bytes", i, num_bytes);
7269
to_child.send(bytes(num_bytes));
7370
}
7471
//println!("worker {:?} exiting", i);
75-
});
72+
}));
7673
}
7774
task::spawn(proc() {
7875
server(&from_parent, &to_parent);
7976
});
8077

81-
for r in worker_results.iter() {
82-
r.recv();
78+
for r in worker_results.move_iter() {
79+
r.unwrap();
8380
}
8481

8582
//println!("sending stop message");

branches/dist-snap/src/test/bench/msgsend-pipes.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ extern crate debug;
1919

2020
use std::os;
2121
use std::task;
22-
use std::task::TaskBuilder;
2322
use std::uint;
2423

2524
fn move_out<T>(_x: T) {}
@@ -58,38 +57,34 @@ fn run(args: &[String]) {
5857
let mut worker_results = Vec::new();
5958
let from_parent = if workers == 1 {
6059
let (to_child, from_parent) = channel();
61-
let mut builder = TaskBuilder::new();
62-
worker_results.push(builder.future_result());
63-
builder.spawn(proc() {
60+
worker_results.push(task::try_future(proc() {
6461
for _ in range(0u, size / workers) {
6562
//println!("worker {:?}: sending {:?} bytes", i, num_bytes);
6663
to_child.send(bytes(num_bytes));
6764
}
6865
//println!("worker {:?} exiting", i);
69-
});
66+
}));
7067
from_parent
7168
} else {
7269
let (to_child, from_parent) = channel();
7370
for _ in range(0u, workers) {
7471
let to_child = to_child.clone();
75-
let mut builder = TaskBuilder::new();
76-
worker_results.push(builder.future_result());
77-
builder.spawn(proc() {
72+
worker_results.push(task::try_future(proc() {
7873
for _ in range(0u, size / workers) {
7974
//println!("worker {:?}: sending {:?} bytes", i, num_bytes);
8075
to_child.send(bytes(num_bytes));
8176
}
8277
//println!("worker {:?} exiting", i);
83-
});
78+
}));
8479
}
8580
from_parent
8681
};
8782
task::spawn(proc() {
8883
server(&from_parent, &to_parent);
8984
});
9085

91-
for r in worker_results.iter() {
92-
r.recv();
86+
for r in worker_results.move_iter() {
87+
r.unwrap();
9388
}
9489

9590
//println!("sending stop message");

branches/dist-snap/src/test/bench/shootout-pfib.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ extern crate time;
2424
use std::os;
2525
use std::result::{Ok, Err};
2626
use std::task;
27-
use std::task::TaskBuilder;
2827
use std::uint;
2928

3029
fn fib(n: int) -> int {
@@ -79,14 +78,12 @@ fn stress_task(id: int) {
7978
fn stress(num_tasks: int) {
8079
let mut results = Vec::new();
8180
for i in range(0, num_tasks) {
82-
let mut builder = TaskBuilder::new();
83-
results.push(builder.future_result());
84-
builder.spawn(proc() {
81+
results.push(task::try_future(proc() {
8582
stress_task(i);
86-
});
83+
}));
8784
}
88-
for r in results.iter() {
89-
r.recv();
85+
for r in results.move_iter() {
86+
r.unwrap();
9087
}
9188
}
9289

branches/dist-snap/src/test/run-pass/issue-2190-1.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ use std::task::TaskBuilder;
1313
static generations: uint = 1024+256+128+49;
1414

1515
fn spawn(f: proc():Send) {
16-
let mut t = TaskBuilder::new();
17-
t.opts.stack_size = Some(32 * 1024);
18-
t.spawn(f);
16+
TaskBuilder::new().stack_size(32 * 1024).spawn(f)
1917
}
2018

2119
fn child_no(x: uint) -> proc():Send {

branches/dist-snap/src/test/run-pass/task-comm-12.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,14 @@
99
// except according to those terms.
1010

1111
use std::task;
12-
use std::task::TaskBuilder;
1312

1413
pub fn main() { test00(); }
1514

1615
fn start(_task_number: int) { println!("Started / Finished task."); }
1716

1817
fn test00() {
1918
let i: int = 0;
20-
let mut builder = TaskBuilder::new();
21-
let mut result = builder.future_result();
22-
builder.spawn(proc() {
19+
let mut result = task::try_future(proc() {
2320
start(i)
2421
});
2522

@@ -31,7 +28,7 @@ fn test00() {
3128
}
3229

3330
// Try joining tasks that have already finished.
34-
result.recv();
31+
result.unwrap();
3532

3633
println!("Joined task.");
3734
}

branches/dist-snap/src/test/run-pass/task-comm-3.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
extern crate debug;
1212

13-
use std::task::TaskBuilder;
13+
use std::task;
1414

1515
pub fn main() { println!("===== WITHOUT THREADS ====="); test00(); }
1616

@@ -39,14 +39,12 @@ fn test00() {
3939
let mut results = Vec::new();
4040
while i < number_of_tasks {
4141
let tx = tx.clone();
42-
let mut builder = TaskBuilder::new();
43-
results.push(builder.future_result());
44-
builder.spawn({
42+
results.push(task::try_future({
4543
let i = i;
4644
proc() {
4745
test00_start(&tx, i, number_of_messages)
4846
}
49-
});
47+
}));
5048
i = i + 1;
5149
}
5250

@@ -62,7 +60,7 @@ fn test00() {
6260
}
6361

6462
// Join spawned tasks...
65-
for r in results.iter() { r.recv(); }
63+
for r in results.mut_iter() { r.get_ref(); }
6664

6765
println!("Completed: Final number is: ");
6866
println!("{:?}", sum);

branches/dist-snap/src/test/run-pass/task-comm-9.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
extern crate debug;
1212

13-
use std::task::TaskBuilder;
13+
use std::task;
1414

1515
pub fn main() { test00(); }
1616

@@ -25,9 +25,7 @@ fn test00() {
2525
let (tx, rx) = channel();
2626
let number_of_messages: int = 10;
2727

28-
let mut builder = TaskBuilder::new();
29-
let result = builder.future_result();
30-
builder.spawn(proc() {
28+
let result = task::try_future(proc() {
3129
test00_start(&tx, number_of_messages);
3230
});
3331

@@ -38,7 +36,7 @@ fn test00() {
3836
i += 1;
3937
}
4038

41-
result.recv();
39+
result.unwrap();
4240

4341
assert_eq!(sum, number_of_messages * (number_of_messages - 1) / 2);
4442
}

branches/dist-snap/src/test/run-pass/task-stderr.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
// except according to those terms.
1010

1111
use std::io::{ChanReader, ChanWriter};
12-
use std::task::build;
12+
use std::task::TaskBuilder;
1313

1414
fn main() {
1515
let (tx, rx) = channel();
1616
let mut reader = ChanReader::new(rx);
1717
let stderr = ChanWriter::new(tx);
1818

19-
let res = build().stderr(box stderr as Box<Writer + Send>).try(proc() -> () {
19+
let res = TaskBuilder::new().stderr(box stderr as Box<Writer + Send>).try(proc() -> () {
2020
fail!("Hello, world!")
2121
});
2222
assert!(res.is_err());

branches/dist-snap/src/test/run-pass/tcp-stress.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,7 @@ fn main() {
6060
let (tx, rx) = channel();
6161
for _ in range(0, 1000) {
6262
let tx = tx.clone();
63-
let mut builder = TaskBuilder::new();
64-
builder.opts.stack_size = Some(64 * 1024);
65-
builder.spawn(proc() {
63+
TaskBuilder::new().stack_size(64 * 1024).spawn(proc() {
6664
let host = addr.ip.to_str();
6765
let port = addr.port;
6866
match TcpStream::connect(host.as_slice(), port) {

branches/dist-snap/src/test/run-pass/yield.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,15 @@
99
// except according to those terms.
1010

1111
use std::task;
12-
use std::task::TaskBuilder;
1312

1413
pub fn main() {
15-
let mut builder = TaskBuilder::new();
16-
let mut result = builder.future_result();
17-
builder.spawn(child);
14+
let mut result = task::try_future(child);
1815
println!("1");
1916
task::deschedule();
2017
println!("2");
2118
task::deschedule();
2219
println!("3");
23-
result.recv();
20+
result.unwrap();
2421
}
2522

2623
fn child() {

branches/dist-snap/src/test/run-pass/yield1.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,12 @@
99
// except according to those terms.
1010

1111
use std::task;
12-
use std::task::TaskBuilder;
1312

1413
pub fn main() {
15-
let mut builder = TaskBuilder::new();
16-
let mut result = builder.future_result();
17-
builder.spawn(child);
14+
let mut result = task::try_future(child);
1815
println!("1");
1916
task::deschedule();
20-
result.recv();
17+
result.unwrap();
2118
}
2219

2320
fn child() { println!("2"); }

0 commit comments

Comments
 (0)