Skip to content

Commit 428b586

Browse files
committed
---
yaml --- r: 142579 b: refs/heads/try2 c: 7f107c4 h: refs/heads/master i: 142577: f41a0d9 142575: 9208e89 v: v3
1 parent 2f4b998 commit 428b586

File tree

6 files changed

+25
-20
lines changed

6 files changed

+25
-20
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 8b7e392752eddc202dae12c6b89b7c59556990ce
8+
refs/heads/try2: 7f107c415f1c88b016b9da0fa9c58e6b61f82589
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/libcore/rt/local.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,30 +85,31 @@ impl Local for IoFactoryObject {
8585

8686
#[cfg(test)]
8787
mod test {
88+
use rt::test::*;
8889
use rt::sched::Scheduler;
8990
use rt::uv::uvio::UvEventLoop;
9091
use super::*;
9192

9293
#[test]
9394
fn thread_local_scheduler_smoke_test() {
94-
let scheduler = ~UvEventLoop::new_scheduler();
95+
let scheduler = ~new_test_uv_sched();
9596
Local::put(scheduler);
9697
let _scheduler: ~Scheduler = Local::take();
9798
}
9899

99100
#[test]
100101
fn thread_local_scheduler_two_instances() {
101-
let scheduler = ~UvEventLoop::new_scheduler();
102+
let scheduler = ~new_test_uv_sched();
102103
Local::put(scheduler);
103104
let _scheduler: ~Scheduler = Local::take();
104-
let scheduler = ~UvEventLoop::new_scheduler();
105+
let scheduler = ~new_test_uv_sched();
105106
Local::put(scheduler);
106107
let _scheduler: ~Scheduler = Local::take();
107108
}
108109

109110
#[test]
110111
fn borrow_smoke_test() {
111-
let scheduler = ~UvEventLoop::new_scheduler();
112+
let scheduler = ~new_test_uv_sched();
112113
Local::put(scheduler);
113114
unsafe {
114115
let _scheduler: *mut Scheduler = Local::unsafe_borrow();

branches/try2/src/libcore/rt/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,12 @@ fn test_context() {
223223
use rt::uv::uvio::UvEventLoop;
224224
use cell::Cell;
225225
use rt::local::Local;
226+
use rt::test::new_test_uv_sched;
226227

227228
assert_eq!(context(), OldTaskContext);
228229
do run_in_bare_thread {
229230
assert_eq!(context(), GlobalContext);
230-
let mut sched = ~UvEventLoop::new_scheduler();
231+
let mut sched = ~new_test_uv_sched();
231232
let task = ~do Coroutine::new(&mut sched.stack_pool) {
232233
assert_eq!(context(), TaskContext);
233234
let sched = Local::take::<Scheduler>();

branches/try2/src/libcore/rt/sched.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ mod test {
435435
let mut task_ran = false;
436436
let task_ran_ptr: *mut bool = &mut task_ran;
437437

438-
let mut sched = ~UvEventLoop::new_scheduler();
438+
let mut sched = ~new_test_uv_sched();
439439
let task = ~do Coroutine::new(&mut sched.stack_pool) {
440440
unsafe { *task_ran_ptr = true; }
441441
};
@@ -452,7 +452,7 @@ mod test {
452452
let mut task_count = 0;
453453
let task_count_ptr: *mut int = &mut task_count;
454454

455-
let mut sched = ~UvEventLoop::new_scheduler();
455+
let mut sched = ~new_test_uv_sched();
456456
for int::range(0, total) |_| {
457457
let task = ~do Coroutine::new(&mut sched.stack_pool) {
458458
unsafe { *task_count_ptr = *task_count_ptr + 1; }
@@ -470,7 +470,7 @@ mod test {
470470
let mut count = 0;
471471
let count_ptr: *mut int = &mut count;
472472

473-
let mut sched = ~UvEventLoop::new_scheduler();
473+
let mut sched = ~new_test_uv_sched();
474474
let task1 = ~do Coroutine::new(&mut sched.stack_pool) {
475475
unsafe { *count_ptr = *count_ptr + 1; }
476476
let mut sched = Local::take::<Scheduler>();
@@ -499,7 +499,7 @@ mod test {
499499
let mut count = 0;
500500
let count_ptr: *mut int = &mut count;
501501

502-
let mut sched = ~UvEventLoop::new_scheduler();
502+
let mut sched = ~new_test_uv_sched();
503503

504504
let start_task = ~do Coroutine::new(&mut sched.stack_pool) {
505505
run_task(count_ptr);
@@ -528,7 +528,7 @@ mod test {
528528
#[test]
529529
fn test_block_task() {
530530
do run_in_bare_thread {
531-
let mut sched = ~UvEventLoop::new_scheduler();
531+
let mut sched = ~new_test_uv_sched();
532532
let task = ~do Coroutine::new(&mut sched.stack_pool) {
533533
let sched = Local::take::<Scheduler>();
534534
assert!(sched.in_task_context());
@@ -577,15 +577,15 @@ mod test {
577577
let (port, chan) = oneshot::<()>();
578578
let port_cell = Cell(port);
579579
let chan_cell = Cell(chan);
580-
let mut sched1 = ~UvEventLoop::new_scheduler();
580+
let mut sched1 = ~new_test_uv_sched();
581581
let handle1 = sched1.make_handle();
582582
let handle1_cell = Cell(handle1);
583583
let task1 = ~do Coroutine::new(&mut sched1.stack_pool) {
584584
chan_cell.take().send(());
585585
};
586586
sched1.enqueue_task(task1);
587587

588-
let mut sched2 = ~UvEventLoop::new_scheduler();
588+
let mut sched2 = ~new_test_uv_sched();
589589
let task2 = ~do Coroutine::new(&mut sched2.stack_pool) {
590590
port_cell.take().recv();
591591
// Release the other scheduler's handle so it can exit

branches/try2/src/libcore/rt/test.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ use super::io::net::ip::{IpAddr, Ipv4};
1616
use rt::task::Task;
1717
use rt::thread::Thread;
1818
use rt::local::Local;
19+
use rt::sched::Scheduler;
20+
21+
pub fn new_test_uv_sched() -> Scheduler {
22+
use rt::uv::uvio::UvEventLoop;
23+
use rt::work_queue::WorkQueue;
24+
25+
Scheduler::new(~UvEventLoop::new(), WorkQueue::new())
26+
}
1927

2028
/// Creates a new scheduler in a new thread and runs a task in it,
2129
/// then waits for the scheduler to exit. Failure of the task
@@ -28,7 +36,7 @@ pub fn run_in_newsched_task(f: ~fn()) {
2836
let f = Cell(f);
2937

3038
do run_in_bare_thread {
31-
let mut sched = ~UvEventLoop::new_scheduler();
39+
let mut sched = ~new_test_uv_sched();
3240
let task = ~Coroutine::with_task(&mut sched.stack_pool,
3341
~Task::without_unwinding(),
3442
f.take());
@@ -155,7 +163,7 @@ pub fn spawntask_thread(f: ~fn()) -> Thread {
155163

156164
let f = Cell(f);
157165
let thread = do Thread::start {
158-
let mut sched = ~UvEventLoop::new_scheduler();
166+
let mut sched = ~new_test_uv_sched();
159167
let task = ~Coroutine::with_task(&mut sched.stack_pool,
160168
~Task::without_unwinding(),
161169
f.take());

branches/try2/src/libcore/rt/uv/uvio.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,6 @@ pub impl UvEventLoop {
4343
uvio: UvIoFactory(Loop::new())
4444
}
4545
}
46-
47-
/// A convenience constructor
48-
fn new_scheduler() -> Scheduler {
49-
Scheduler::new(~UvEventLoop::new(), WorkQueue::new())
50-
}
5146
}
5247

5348
impl Drop for UvEventLoop {

0 commit comments

Comments
 (0)