Revert daemon removal

This reverts the removal of the call to libc::daemon and instead adds an
annotation to ignore the deprecation warnings on macos.

This will not be an issue in the future since macOS is only discouraging
the use of `daemon`, but I'm not aware of any intention to actually
remove it.

This fixes #2211.
This commit is contained in:
Christian Duerr 2019-04-01 22:27:27 +00:00 committed by GitHub
parent a9c6e2807f
commit 5523f64c6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 8 deletions

View File

@ -622,7 +622,6 @@ mod tests {
101...150 => '~',
151...200 => '*',
201...255 => '#',
_ => unreachable!(),
};
print!("{}", c);
}

View File

@ -14,7 +14,6 @@
use std::ffi::OsStr;
use std::process::Command;
use std::process::Stdio;
use std::{cmp, io};
#[cfg(not(windows))]
@ -23,6 +22,8 @@ use std::os::unix::process::CommandExt;
#[cfg(windows)]
use std::os::windows::process::CommandExt;
#[cfg(windows)]
use std::process::Stdio;
#[cfg(windows)]
use winapi::um::winbase::{CREATE_NEW_PROCESS_GROUP, CREATE_NO_WINDOW};
/// Threading utilities
@ -90,13 +91,9 @@ where
{
Command::new(program)
.args(args)
.stdin(Stdio::null())
.stdout(Stdio::null())
.stderr(Stdio::null())
.before_exec(|| unsafe {
if ::libc::fork() != 0 {
std::process::exit(0);
}
#[allow(deprecated)]
libc::daemon(1, 0);
Ok(())
})
.spawn()?