summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-11-26 08:45:57 -0800
committerAlex Crichton <alex@alexcrichton.com>2016-11-26 08:45:57 -0800
commit891db584c1e7706e3075cea454f639ff3272c2a3 (patch)
treed575dc0e21c08455b5fdd535d3f45c0cd9636a28 /src/lib.rs
parent221c0d844daad0180422aa23167b9e306897fe07 (diff)
downloadssh2-rs-891db584c1e7706e3075cea454f639ff3272c2a3.zip
Push init synchronization to sys layer
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs18
1 files changed, 1 insertions, 17 deletions
diff --git a/src/lib.rs b/src/lib.rs
index cf05eb5..2c60572 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -133,7 +133,6 @@ extern crate libc;
#[macro_use] extern crate bitflags;
use std::ffi::CStr;
-use std::sync::{Once, ONCE_INIT};
pub use agent::{Agent, Identities, PublicKey};
pub use channel::{Channel, ExitSignal, ReadWindow, WriteWindow, Stream};
@@ -164,22 +163,7 @@ mod util;
///
/// This is optional, it is lazily invoked.
pub fn init() {
- static INIT: Once = ONCE_INIT;
- INIT.call_once(|| unsafe {
- platform_init();
- assert_eq!(raw::libssh2_init(raw::LIBSSH2_INIT_NO_CRYPTO), 0);
- assert_eq!(libc::atexit(shutdown), 0);
- });
- extern fn shutdown() { unsafe { raw::libssh2_exit(); } }
-
- #[cfg(unix)]
- fn platform_init() {
- extern crate openssl_sys;
- openssl_sys::init();
- }
-
- #[cfg(windows)]
- fn platform_init() {}
+ raw::init();
}
unsafe fn opt_bytes<'a, T>(_: &'a T,