Skip to content

Commit 515fb48

Browse files
committed
---
yaml --- r: 10579 b: refs/heads/snap-stage3 c: 2a128fa h: refs/heads/master i: 10577: 1526c1b 10575: 1c3017b v: v3
1 parent bf40163 commit 515fb48

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: 2898dcc5d97da9427ac367542382b6239d9c0bbf
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: be664ddd2917e13c1c5f05a49476f8b67be85140
4+
refs/heads/snap-stage3: 2a128fa205f36074c8fbf4bc490e1ad0f76f38f6
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/snap-stage3/src/libcore/arc.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,14 @@ impl methods<T> for exclusive<T> {
102102
fn with<U>(f: fn(sys::condition, x: &T) -> U) -> U {
103103
unsafe {
104104
let ptr: ~arc_data<ex_data<T>> = unsafe::reinterpret_cast(*self);
105-
let rec: &ex_data<T> = &(*ptr).data;
105+
let r = {
106+
let rec: &ex_data<T> = &(*ptr).data;
107+
rec.lock.lock_cond() {|c|
108+
f(c, &rec.data)
109+
}
110+
};
106111
unsafe::forget(ptr);
107-
rec.lock.lock_cond() {|c|
108-
f(c, &rec.data)
109-
}
112+
r
110113
}
111114
}
112115
}

0 commit comments

Comments
 (0)