diff --git a/src/addr_validate.rs b/src/addr_validate.rs index 44019815..a35ed609 100644 --- a/src/addr_validate.rs +++ b/src/addr_validate.rs @@ -18,19 +18,21 @@ fn create_pipe() -> nix::Result<(i32, i32)> { pipe2(OFlag::O_CLOEXEC | OFlag::O_NONBLOCK) } +#[inline] #[cfg(target_os = "macos")] unsafe fn create_pipe() -> nix::Result<(i32, i32)> { - use nix::fcntl::{fcntl, OFlag}; + use nix::fcntl::{fcntl, FdFlag, FcntlArg}; + use nix::unistd::pipe; - let (read_fd, write_fd) = libc::pipe(fds)?; + let (read_fd, write_fd) = pipe()?; - let mut flags = fcntl(read_fd, FcntlArg::F_GETFL)?; - flags |= libc::O_CLOEXEC; - fcntl(read_fd, libc::F_SETFD, flags)?; + let mut flags = FdFlag::from_bits(fcntl(read_fd, FcntlArg::F_GETFL)?).unwrap(); + flags |= FdFlag::FD_CLOEXEC; + fcntl(read_fd, FcntlArg::F_SETFD(flags))?; - let mut flags = fcntl(write_fd, FcntlArg::F_GETFL)?; - flags |= libc::O_CLOEXEC; - fcntl(write_fd, libc::F_SETFD, flags)?; + let mut flags = FdFlag::from_bits(fcntl(write_fd, FcntlArg::F_GETFL)?).unwrap(); + flags |= FdFlag::FD_CLOEXEC; + fcntl(write_fd, FcntlArg::F_SETFD(flags))?; Ok((read_fd, write_fd)) } diff --git a/src/lib.rs b/src/lib.rs index 44b6a687..2024f654 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -45,7 +45,6 @@ pub const MAX_DEPTH: usize = 32; /// Define the MAX supported thread name length. TODO: make this variable mutable. pub const MAX_THREAD_NAME: usize = 16; -#[cfg(target_os = "linux")] mod addr_validate; mod backtrace; @@ -57,7 +56,6 @@ mod report; mod timer; pub use self::addr_validate::validate; - pub use self::collector::{Collector, HashCounter}; pub use self::error::{Error, Result}; pub use self::frames::{Frames, Symbol};