From b533aff9275aad7cd7dfbf42ca6b387fc93ed1d3 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 26 Jun 2019 16:27:54 -0700 Subject: [PATCH] Use pointer::write_bytes for android sigemptyset --- src/libstd/sys/unix/process/process_common.rs | 2 +- src/libstd/sys/unix/process/process_unix.rs | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libstd/sys/unix/process/process_common.rs b/src/libstd/sys/unix/process/process_common.rs index 7127386def4a5..3ff4f194cd1a9 100644 --- a/src/libstd/sys/unix/process/process_common.rs +++ b/src/libstd/sys/unix/process/process_common.rs @@ -437,7 +437,7 @@ mod tests { #[cfg(target_os = "android")] unsafe fn sigemptyset(set: *mut libc::sigset_t) -> libc::c_int { - libc::memset(set as *mut _, 0, mem::size_of::()); + set.write_bytes(0u8, 1); return 0; } diff --git a/src/libstd/sys/unix/process/process_unix.rs b/src/libstd/sys/unix/process/process_unix.rs index 28c1d214a8d0d..be38a1334ec32 100644 --- a/src/libstd/sys/unix/process/process_unix.rs +++ b/src/libstd/sys/unix/process/process_unix.rs @@ -202,7 +202,7 @@ impl Command { // emscripten has no signal support. #[cfg(not(any(target_os = "emscripten")))] { - use crate::mem::{self, MaybeUninit}; + use crate::mem::MaybeUninit; // Reset signal handling so the child process starts in a // standardized state. libstd ignores SIGPIPE, and signal-handling // libraries often set a mask. Child processes inherit ignored @@ -215,9 +215,7 @@ impl Command { // Implementing sigemptyset allow us to support older Android // versions. See the comment about Android and sig* functions in // process_common.rs - libc::memset(set.as_mut_ptr() as *mut _, - 0, - mem::size_of::()); + set.as_mut_ptr().write_bytes(0u8, 1); } else { cvt(libc::sigemptyset(set.as_mut_ptr()))?; }