Skip to content

Commit c62e638

Browse files
committed
---
yaml --- r: 94189 b: refs/heads/try c: ab3bec9 h: refs/heads/master i: 94187: 10797f4 v: v3
1 parent 678761b commit c62e638

File tree

3 files changed

+13
-19
lines changed

3 files changed

+13
-19
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 0da105a8b7b6b1e0568e8ff20f6ff4b13cc7ecc2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
5-
refs/heads/try: 7cac9fe76349120ea2373f3ce47a561271b5e8b6
5+
refs/heads/try: ab3bec91d77150e434ac1480fbb3935213e33dca
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/libstd/rt/tube.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ impl<T> Clone for Tube<T> {
8888

8989
#[cfg(test)]
9090
mod test {
91-
use cell::Cell;
9291
use rt::test::*;
9392
use rt::rtio::EventLoop;
9493
use rt::sched::Scheduler;
@@ -100,11 +99,10 @@ mod test {
10099
fn simple_test() {
101100
do run_in_newsched_task {
102101
let mut tube: Tube<int> = Tube::new();
103-
let tube_clone = tube.clone();
104-
let tube_clone_cell = Cell::new(tube_clone);
102+
let mut tube_clone = Some(tube.clone());
105103
let sched: ~Scheduler = Local::take();
106104
sched.deschedule_running_task_and_then(|sched, task| {
107-
let mut tube_clone = tube_clone_cell.take();
105+
let mut tube_clone = tube_clone.take_unwrap();
108106
tube_clone.send(1);
109107
sched.enqueue_blocked_task(task);
110108
});
@@ -117,11 +115,10 @@ mod test {
117115
fn blocking_test() {
118116
do run_in_newsched_task {
119117
let mut tube: Tube<int> = Tube::new();
120-
let tube_clone = tube.clone();
121-
let tube_clone = Cell::new(tube_clone);
118+
let mut tube_clone = Some(tube.clone());
122119
let sched: ~Scheduler = Local::take();
123120
sched.deschedule_running_task_and_then(|sched, task| {
124-
let tube_clone = tube_clone.take();
121+
let tube_clone = tube_clone.take_unwrap();
125122
do sched.event_loop.callback {
126123
let mut tube_clone = tube_clone;
127124
// The task should be blocked on this now and
@@ -141,11 +138,10 @@ mod test {
141138

142139
do run_in_newsched_task {
143140
let mut tube: Tube<int> = Tube::new();
144-
let tube_clone = tube.clone();
145-
let tube_clone = Cell::new(tube_clone);
141+
let mut tube_clone = Some(tube.clone());
146142
let sched: ~Scheduler = Local::take();
147143
sched.deschedule_running_task_and_then(|sched, task| {
148-
callback_send(tube_clone.take(), 0);
144+
callback_send(tube_clone.take_unwrap(), 0);
149145

150146
fn callback_send(tube: Tube<int>, i: int) {
151147
if i == 100 {

branches/try/src/libstd/select.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ pub fn select<A: Select>(ports: &mut [A]) -> uint {
6060
let c = Cell::new(c);
6161

6262
(|| {
63-
let c = Cell::new(c.take());
63+
let mut c = Some(c.take());
6464
let sched: ~Scheduler = Local::take();
6565
sched.deschedule_running_task_and_then(|sched, task| {
6666
let task_handles = task.make_selectable(ports.len());
@@ -74,8 +74,10 @@ pub fn select<A: Select>(ports: &mut [A]) -> uint {
7474
}
7575
}
7676

77-
let c = Cell::new(c.take());
78-
do sched.event_loop.callback { c.take().send_deferred(()) }
77+
let c = c.take_unwrap();
78+
do sched.event_loop.callback {
79+
c.send_deferred(())
80+
}
7981
})
8082
}).finally(|| {
8183
// Unkillable is necessary not because getting killed is dangerous here,
@@ -133,7 +135,6 @@ mod test {
133135
use vec::*;
134136
use comm::GenericChan;
135137
use task;
136-
use cell::Cell;
137138
use iter::{Iterator, range};
138139

139140
#[test] #[should_fail]
@@ -246,9 +247,7 @@ mod test {
246247
let (p3,c3) = oneshot();
247248
let (p4,c4) = oneshot();
248249

249-
let x = Cell::new((c2, p3, c4));
250250
do task::spawn {
251-
let (c2, p3, c4) = x.take();
252251
p3.recv(); // handshake parent
253252
c4.send(()); // normal receive
254253
task::deschedule();
@@ -284,10 +283,9 @@ mod test {
284283
let (p,c) = oneshot();
285284
ports.push(p);
286285
if send_on_chans.contains(&i) {
287-
let c = Cell::new(c);
288286
do spawntask_random {
289287
task::deschedule();
290-
c.take().send(());
288+
c.send(());
291289
}
292290
}
293291
}

0 commit comments

Comments
 (0)