Avril 4 years ago
parent 9c2d31353a
commit 9dbaa04263
Signed by: flanchan
GPG Key ID: 284488987C31F630

@ -6,7 +6,7 @@ pub fn print_stats()
{ {
use recolored::Colorize; use recolored::Colorize;
lazy_static! { lazy_static! {
static ref AUTHORS: String = env!("CARGO_PKG_AUTHORS").replace( ":", ", "); static ref AUTHORS: &'static str = Box::leak(env!("CARGO_PKG_AUTHORS").replace( ":", ", ").into_boxed_str());
}; };

@ -9,7 +9,7 @@ use libc::{
setuid, setuid,
}; };
use tokio::{ use tokio::{
runtime::{Runtime, Handle}, runtime::Runtime,
task::JoinHandle, task::JoinHandle,
}; };
use std::{ use std::{
@ -182,6 +182,7 @@ fn detach_closure_internal<F: FnOnce(Parent) -> Fu + Send + 'static, Fu: Future>
let child = unsafe{fork()}; let child = unsafe{fork()};
if child == 0 { if child == 0 {
// Is child // Is child
{
let _ =std::thread::spawn(move || { //Any unwind will be caught here let _ =std::thread::spawn(move || { //Any unwind will be caught here
let mut rt = Runtime::new().unwrap_or_else(|_| std::process::exit(1)); //Immediately exit if runtime cannot be created. let mut rt = Runtime::new().unwrap_or_else(|_| std::process::exit(1)); //Immediately exit if runtime cannot be created.
rt.block_on(async move { rt.block_on(async move {
@ -221,6 +222,7 @@ fn detach_closure_internal<F: FnOnce(Parent) -> Fu + Send + 'static, Fu: Future>
} }
}); });
}).join(); }).join();
}
std::process::exit(0); std::process::exit(0);
} else if child > 0 { } else if child > 0 {
// Fork succeeded // Fork succeeded

Loading…
Cancel
Save