diff options
Diffstat (limited to 'openssl-sys/src')
| -rw-r--r-- | openssl-sys/src/lib.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 97dc047d..56fa3484 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -218,7 +218,10 @@ pub fn init() { SSL_load_error_strings(); let num_locks = CRYPTO_num_locks(); - let mutexes = Box::new(range(0, num_locks).map(|_| MUTEX_INIT).collect::<Vec<_>>()); + let mut mutexes = Box::new(Vec::new()); + for _ in 0..num_locks { + mutexes.push(MUTEX_INIT); + } MUTEXES = mem::transmute(mutexes); let guards: Box<Vec<Option<MutexGuard<()>>>> = Box::new(range(0, num_locks).map(|_| None).collect()); |