Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
lazy_static = "1.4"
libc = "0.2"
log = "0.4"
-nix = "0.16"
+nix = "0.19"
num-traits = "0.2"
once_cell = "1.3.1"
openssl = "0.10"
// Process should be deamonized.
// Make sure to fork before the async runtime is instantiated to avoid troubles.
let pipe = pipe()?;
- match fork() {
+ match unsafe { fork() } {
Ok(ForkResult::Parent { .. }) => {
nix::unistd::close(pipe.1).unwrap();
// Blocks the parent process until we are ready to go in the child
// Start ourselves in the background:
use nix::unistd::{fork, ForkResult};
- match fork() {
+ match unsafe { fork() } {
Ok(ForkResult::Child) => {
// Double fork so systemd can supervise us without nagging...
- match fork() {
+ match unsafe { fork() } {
Ok(ForkResult::Child) => {
std::mem::drop(pold);
// At this point we call pre-exec helpers. We must be certain that if they fail for