Use redox-daemon

This commit is contained in:
4lDO2
2022-07-18 16:21:21 +02:00
parent ec22a4f393
commit 54d64d6ecb
4 changed files with 26 additions and 8 deletions
+7 -4
View File
@@ -21,7 +21,7 @@ use syscall::{CloneFlags, EventFlags};
mod scheme;
fn run() -> Result<()> {
fn run(daemon: redox_daemon::Daemon) -> Result<()> {
use syscall::flag::*;
let dns_fd = syscall::open(":dns", O_RDWR | O_CREAT | O_NONBLOCK)
@@ -53,6 +53,8 @@ fn run() -> Result<()> {
syscall::setrens(0, 0).expect("dnsd: failed to enter null namespace");
daemon.ready().expect("dnsd: failed to notify parent");
let dnsd_ = Rc::clone(&dnsd);
event_queue
@@ -82,11 +84,12 @@ fn run() -> Result<()> {
}
fn main() {
if unsafe { syscall::clone(CloneFlags::empty()).unwrap() } == 0 {
redox_daemon::Daemon::new(move |daemon| {
logger::init_logger();
if let Err(err) = run() {
if let Err(err) = run(daemon) {
error!("dnsd: {}", err);
process::exit(1);
}
}
process::exit(0);
}).expect("dnsd: failed to daemonize");
}
+7 -4
View File
@@ -27,7 +27,7 @@ mod device;
mod port_set;
mod scheme;
fn run() -> Result<()> {
fn run(daemon: redox_daemon::Daemon) -> Result<()> {
use syscall::flag::*;
trace!("opening network:");
@@ -91,6 +91,8 @@ fn run() -> Result<()> {
syscall::setrens(0, 0).expect("smolnetd: failed to enter null namespace");
daemon.ready().expect("smolnetd: failed to notify parent");
let smolnetd_ = Rc::clone(&smolnetd);
event_queue
@@ -150,12 +152,13 @@ fn run() -> Result<()> {
}
fn main() {
if unsafe { syscall::clone(CloneFlags::empty()).unwrap() } == 0 {
redox_daemon::Daemon::new(move |daemon| {
logger::init_logger();
if let Err(err) = run() {
if let Err(err) = run(daemon) {
error!("smoltcpd: {}", err);
process::exit(1);
}
}
process::exit(0);
}).expect("smoltcp: failed to daemonize");
}