Remove unused std::sys_common::thread_local_key::Key.
This commit is contained in:
parent
6ce22733b9
commit
94c855153a
@ -87,31 +87,6 @@ pub struct StaticKey {
|
||||
dtor: Option<unsafe extern "C" fn(*mut u8)>,
|
||||
}
|
||||
|
||||
/// A type for a safely managed OS-based TLS slot.
|
||||
///
|
||||
/// This type allocates an OS TLS key when it is initialized and will deallocate
|
||||
/// the key when it falls out of scope. When compared with `StaticKey`, this
|
||||
/// type is entirely safe to use.
|
||||
///
|
||||
/// Implementations will likely, however, contain unsafe code as this type only
|
||||
/// operates on `*mut u8`, a raw pointer.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```ignore (cannot-doctest-private-modules)
|
||||
/// use tls::os::Key;
|
||||
///
|
||||
/// let key = Key::new(None);
|
||||
/// assert!(key.get().is_null());
|
||||
/// key.set(1 as *mut u8);
|
||||
/// assert!(!key.get().is_null());
|
||||
///
|
||||
/// drop(key); // deallocate this TLS slot.
|
||||
/// ```
|
||||
pub struct Key {
|
||||
key: imp::Key,
|
||||
}
|
||||
|
||||
/// Constant initialization value for static TLS keys.
|
||||
///
|
||||
/// This value specifies no destructor by default.
|
||||
@ -194,39 +169,3 @@ unsafe fn lazy_init(&self) -> usize {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Key {
|
||||
/// Creates a new managed OS TLS key.
|
||||
///
|
||||
/// This key will be deallocated when the key falls out of scope.
|
||||
///
|
||||
/// The argument provided is an optionally-specified destructor for the
|
||||
/// value of this TLS key. When a thread exits and the value for this key
|
||||
/// is non-null the destructor will be invoked. The TLS value will be reset
|
||||
/// to null before the destructor is invoked.
|
||||
///
|
||||
/// Note that the destructor will not be run when the `Key` goes out of
|
||||
/// scope.
|
||||
#[inline]
|
||||
pub fn new(dtor: Option<unsafe extern "C" fn(*mut u8)>) -> Key {
|
||||
Key { key: unsafe { imp::create(dtor) } }
|
||||
}
|
||||
|
||||
/// See StaticKey::get
|
||||
#[inline]
|
||||
pub fn get(&self) -> *mut u8 {
|
||||
unsafe { imp::get(self.key) }
|
||||
}
|
||||
|
||||
/// See StaticKey::set
|
||||
#[inline]
|
||||
pub fn set(&self, val: *mut u8) {
|
||||
unsafe { imp::set(self.key, val) }
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for Key {
|
||||
fn drop(&mut self) {
|
||||
unsafe { imp::destroy(self.key) }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user