summaryrefslogtreecommitdiff
path: root/src/ucontext.rs
diff options
context:
space:
mode:
authorAlan Somers <asomers@gmail.com>2019-08-30 23:10:22 -0600
committerAlan Somers <asomers@gmail.com>2019-09-03 16:25:41 -0600
commit469032433d68841ad098f03aa2b28e81235b8be8 (patch)
treea34108f1688355ebaa6d5eed8a2eecafc5d32dfa /src/ucontext.rs
parenta4a465d25567f163f9552b977eb4d17435251d41 (diff)
downloadnix-469032433d68841ad098f03aa2b28e81235b8be8.zip
Replace most instances of mem::uninitialized with mem::MaybeUninit
Only two instances remain: * For the deprecated sys::socket::CmsgSpace::new. We should probably just remove that method. * For sys::termios::Termios::default_uninit. This will require some more thought. Fixes #1096
Diffstat (limited to 'src/ucontext.rs')
-rw-r--r--src/ucontext.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/ucontext.rs b/src/ucontext.rs
index 5e10e7d1..1bcfdd9b 100644
--- a/src/ucontext.rs
+++ b/src/ucontext.rs
@@ -14,11 +14,11 @@ pub struct UContext {
impl UContext {
#[cfg(not(target_env = "musl"))]
pub fn get() -> Result<UContext> {
- let mut context: libc::ucontext_t = unsafe { mem::uninitialized() };
- let res = unsafe {
- libc::getcontext(&mut context as *mut libc::ucontext_t)
- };
- Errno::result(res).map(|_| UContext { context: context })
+ let mut context = mem::MaybeUninit::<libc::ucontext_t>::uninit();
+ let res = unsafe { libc::getcontext(context.as_mut_ptr()) };
+ Errno::result(res).map(|_| unsafe {
+ UContext { context: context.assume_init()}
+ })
}
#[cfg(not(target_env = "musl"))]