diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-02-25 10:25:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-25 10:25:24 -0800 |
commit | b666c733057e77ccb670734b56bcdc8bb1be4ce4 (patch) | |
tree | 450049eee5470f0ea7a413f4991e56af816c25be | |
parent | bf0bbdaa71eda025391f96967f4e774548ab4ee0 (diff) | |
parent | fd8738a0dce693aa09fe17864fb7601e92a76c8c (diff) |
Auto merge of #533 - emilio:simplify-static, r=fitzgen
lib: Simplify the libclang setup.
r? @fitzgen
-rw-r--r-- | src/lib.rs | 22 |
1 files changed, 7 insertions, 15 deletions
@@ -86,7 +86,7 @@ use regex_set::RegexSet; use std::fs::OpenOptions; use std::io::{self, Write}; use std::path::Path; -use std::sync::{Arc, Mutex}; +use std::sync::Arc; use syntax::ast; use syntax::codemap::{DUMMY_SP, Span}; @@ -675,23 +675,15 @@ fn ensure_libclang_is_loaded() { // across different threads. lazy_static! { - static ref LIBCLANG: Mutex<Option<Arc<clang_sys::SharedLibrary>>> = { - Mutex::new(None) + static ref LIBCLANG: Arc<clang_sys::SharedLibrary> = { + clang_sys::load().expect("Unable to find libclang"); + clang_sys::get_library() + .expect("We just loaded libclang and it had better still be \ + here!") }; } - let mut libclang = LIBCLANG.lock().unwrap(); - if !clang_sys::is_loaded() { - if libclang.is_none() { - // TODO(emilio): Return meaningful error (breaking). - clang_sys::load().expect("Unable to find libclang"); - *libclang = Some(clang_sys::get_library() - .expect("We just loaded libclang and it had \ - better still be here!")); - } else { - clang_sys::set_library(libclang.clone()); - } - } + clang_sys::set_library(Some(LIBCLANG.clone())); } /// Generated Rust bindings. |