Skip to content

Commit 1709ba1

Browse files
committed
---
yaml --- r: 142698 b: refs/heads/try2 c: 6fb92f8 h: refs/heads/master v: v3
1 parent c08beb3 commit 1709ba1

File tree

2 files changed

+31
-22
lines changed

2 files changed

+31
-22
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: 2c1315719da842b8d5fcd5e59faf58f2bb408765
8+
refs/heads/try2: 6fb92f8cab03824a52da6ad23060fe791928dcc9
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

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

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -103,46 +103,55 @@ impl Local for IoFactoryObject {
103103

104104
#[cfg(test)]
105105
mod test {
106+
use unstable::run_in_bare_thread;
106107
use rt::test::*;
107108
use rt::sched::Scheduler;
108109
use super::*;
109110

110111
#[test]
111112
fn thread_local_scheduler_smoke_test() {
112-
let scheduler = ~new_test_uv_sched();
113-
Local::put(scheduler);
114-
let _scheduler: ~Scheduler = Local::take();
113+
do run_in_bare_thread {
114+
let scheduler = ~new_test_uv_sched();
115+
Local::put(scheduler);
116+
let _scheduler: ~Scheduler = Local::take();
117+
}
115118
}
116119

117120
#[test]
118121
fn thread_local_scheduler_two_instances() {
119-
let scheduler = ~new_test_uv_sched();
120-
Local::put(scheduler);
121-
let _scheduler: ~Scheduler = Local::take();
122-
let scheduler = ~new_test_uv_sched();
123-
Local::put(scheduler);
124-
let _scheduler: ~Scheduler = Local::take();
122+
do run_in_bare_thread {
123+
let scheduler = ~new_test_uv_sched();
124+
Local::put(scheduler);
125+
let _scheduler: ~Scheduler = Local::take();
126+
let scheduler = ~new_test_uv_sched();
127+
Local::put(scheduler);
128+
let _scheduler: ~Scheduler = Local::take();
129+
}
125130
}
126131

127132
#[test]
128133
fn borrow_smoke_test() {
129-
let scheduler = ~new_test_uv_sched();
130-
Local::put(scheduler);
131-
unsafe {
132-
let _scheduler: *mut Scheduler = Local::unsafe_borrow();
134+
do run_in_bare_thread {
135+
let scheduler = ~new_test_uv_sched();
136+
Local::put(scheduler);
137+
unsafe {
138+
let _scheduler: *mut Scheduler = Local::unsafe_borrow();
139+
}
140+
let _scheduler: ~Scheduler = Local::take();
133141
}
134-
let _scheduler: ~Scheduler = Local::take();
135142
}
136143

137144
#[test]
138145
fn borrow_with_return() {
139-
let scheduler = ~new_test_uv_sched();
140-
Local::put(scheduler);
141-
let res = do Local::borrow::<Scheduler,bool> |_sched| {
142-
true
143-
};
144-
assert!(res)
145-
let _scheduler: ~Scheduler = Local::take();
146+
do run_in_bare_thread {
147+
let scheduler = ~new_test_uv_sched();
148+
Local::put(scheduler);
149+
let res = do Local::borrow::<Scheduler,bool> |_sched| {
150+
true
151+
};
152+
assert!(res);
153+
let _scheduler: ~Scheduler = Local::take();
154+
}
146155
}
147156

148157
}

0 commit comments

Comments
 (0)