|
@@ -1,4 +1,4 @@
|
|
|
-use std::{process, thread};
|
|
|
+use std::{process};
|
|
|
use std::time::Duration;
|
|
|
use tokio::task::JoinSet;
|
|
|
use crate::reaper::Reaper;
|
|
@@ -10,7 +10,7 @@ mod reaper;
|
|
|
mod logger;
|
|
|
mod sysinit;
|
|
|
mod cfg;
|
|
|
-mod tty;
|
|
|
+mod env;
|
|
|
|
|
|
#[tokio::main(flavor = "multi_thread", worker_threads = 2)]
|
|
|
async fn main() {
|
|
@@ -24,22 +24,22 @@ async fn main() {
|
|
|
panic!("yukari must run as PID 1.");
|
|
|
}
|
|
|
|
|
|
+ println!("hello, this is No.1 process (as sysinit) 'yukari'.");
|
|
|
+ println!("this program has been compiled at {} {}", pkg_compile_date!(), pkg_compile_time!());
|
|
|
+ println!();
|
|
|
+
|
|
|
println!("load config...");
|
|
|
cfg::init_config_manager().await;
|
|
|
+ logger::set_debug_mode_by_cfg().await;
|
|
|
|
|
|
- println!("spawning tty...");
|
|
|
- tty::spawn_tty().await;
|
|
|
-
|
|
|
- println!("hello, this is No.1 process (as sysinit) '/usr/sbin/yukari'.");
|
|
|
- println!("this program is compile at {} {}", pkg_compile_date!(), pkg_compile_time!());
|
|
|
- println!();
|
|
|
println!("you can < PRESS ENTER > at any time to enter maintenance shell.");
|
|
|
println!();
|
|
|
println!("---- yukari sysinit phase ----");
|
|
|
|
|
|
let mut logmux = logger::Logger::new();
|
|
|
- let logger_reaper = logmux.get_writer(String::from("reaper"));
|
|
|
- let logger_sysinit = logmux.get_writer(String::from("sysinit"));
|
|
|
+ let logger_reaper = logmux.get_writer(String::from("zombie_reaper"));
|
|
|
+ let logger_env_load = logmux.get_writer(String::from("env_load"));
|
|
|
+ let logger_sysinit = logmux.get_writer(String::from("sys_init"));
|
|
|
|
|
|
let zombie_reaper_res = Reaper::new(logger_reaper);
|
|
|
let mut zombie_reaper = match zombie_reaper_res {
|
|
@@ -58,6 +58,7 @@ async fn main() {
|
|
|
});
|
|
|
|
|
|
task_set.spawn(async move {
|
|
|
+ env::load_env(logger_env_load).await;
|
|
|
let res = sys_init.prepare().await;
|
|
|
println!("---- yukari sysinit phase end ----");
|
|
|
match res {
|