Update to new mutex API

This commit is contained in:
Steven Fackler 2014-02-16 12:06:45 -08:00
parent 05eab1f923
commit d259ffe0ce
1 changed files with 5 additions and 5 deletions

View File

@ -3,7 +3,7 @@ use std::cast;
use std::libc::{c_int, c_void, c_char}; use std::libc::{c_int, c_void, c_char};
use std::ptr; use std::ptr;
use std::io::{IoResult, IoError, OtherIoError, Stream, Reader, Writer}; use std::io::{IoResult, IoError, OtherIoError, Stream, Reader, Writer};
use std::unstable::mutex::Mutex; use std::unstable::mutex::NativeMutex;
use std::vec; use std::vec;
use ssl::error::{SslError, SslSessionClosed, StreamError}; use ssl::error::{SslError, SslSessionClosed, StreamError};
@ -16,7 +16,7 @@ mod tests;
static mut INIT: Once = ONCE_INIT; static mut INIT: Once = ONCE_INIT;
static mut VERIFY_IDX: c_int = -1; static mut VERIFY_IDX: c_int = -1;
static mut MUTEXES: Option<*mut ~[Mutex]> = None; static mut MUTEXES: Option<*mut ~[NativeMutex]> = None;
fn init() { fn init() {
unsafe { unsafe {
@ -28,7 +28,7 @@ fn init() {
VERIFY_IDX = verify_idx; VERIFY_IDX = verify_idx;
let num_locks = ffi::CRYPTO_num_locks(); let num_locks = ffi::CRYPTO_num_locks();
let mutexes = ~vec::from_fn(num_locks as uint, |_| Mutex::new()); let mutexes = ~vec::from_fn(num_locks as uint, |_| NativeMutex::new());
MUTEXES = Some(cast::transmute(mutexes)); MUTEXES = Some(cast::transmute(mutexes));
ffi::CRYPTO_set_locking_callback(locking_function); ffi::CRYPTO_set_locking_callback(locking_function);
@ -70,9 +70,9 @@ extern "C" fn locking_function(mode: c_int, n: c_int, _file: *c_char,
let mutex = &mut (*MUTEXES.unwrap())[n as uint]; let mutex = &mut (*MUTEXES.unwrap())[n as uint];
if mode & ffi::CRYPTO_LOCK != 0 { if mode & ffi::CRYPTO_LOCK != 0 {
mutex.lock(); mutex.lock_noguard();
} else { } else {
mutex.unlock(); mutex.unlock_noguard();
} }
} }
} }