Skip to content

Commit 5bfb5ca

Browse files
committed
Remove create_lock in favor of lock_and_signal() (issue #2780)
1 parent 27cecbf commit 5bfb5ca

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

src/libcore/arc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ type ex_data<T: send> = {lock: sys::lock_and_signal, data: T};
8888
type exclusive<T: send> = arc_destruct<ex_data<T>>;
8989

9090
fn exclusive<T:send >(-data: T) -> exclusive<T> {
91-
let data = ~{mut count: 1, data: {lock: sys::create_lock(),
91+
let data = ~{mut count: 1, data: {lock: sys::lock_and_signal(),
9292
data: data}};
9393
unsafe {
9494
let ptr = unsafe::reinterpret_cast(data);

src/libcore/sys.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export min_align_of;
77
export pref_align_of;
88
export refcount;
99
export log_str;
10-
export create_lock, lock_and_signal, condition, methods;
10+
export lock_and_signal, condition, methods;
1111

1212
enum type_desc = {
1313
first_param: **libc::c_int,
@@ -87,7 +87,9 @@ pure fn log_str<T>(t: T) -> str {
8787

8888
class lock_and_signal {
8989
let lock: rust_cond_lock;
90-
new(lock: rust_cond_lock) { self.lock = lock; }
90+
new() {
91+
self.lock = rustrt::rust_create_cond_lock();
92+
}
9193
drop { rustrt::rust_destroy_cond_lock(self.lock); }
9294
}
9395

@@ -101,10 +103,6 @@ class unlock {
101103
drop { rustrt::rust_unlock_cond_lock(self.lock); }
102104
}
103105

104-
fn create_lock() -> lock_and_signal {
105-
lock_and_signal(rustrt::rust_create_cond_lock())
106-
}
107-
108106
impl methods for lock_and_signal {
109107
unsafe fn lock<T>(f: fn() -> T) -> T {
110108
rustrt::rust_lock_cond_lock(self.lock);
@@ -180,7 +178,7 @@ mod tests {
180178
#[test]
181179
#[ignore] // this can go into infinite loops
182180
fn condition_variable() {
183-
let lock = arc::arc(create_lock());
181+
let lock = arc::arc(lock_and_signal());
184182
let lock2 = arc::clone(&lock);
185183

186184
do task::spawn |move lock2| {

0 commit comments

Comments
 (0)