Files
RedBear-OS/logd/src/main.rs
T
Red Bear OS 0a358aa05f diag(base): trace fd transfer in init, daemon, and logd
Add diagnostics to pin down where the INIT_NOTIFY fd handoff hangs:
- init/src/service.rs: log read_pipe fd and call_ro results
- daemon/src/lib.rs: log cap_fd, write_pipe, and call_wo result
- logd/src/main.rs: explicit ready_sync_scheme result and setrens fallback

These are temporary diagnostics for the boot-hang investigation.
2026-07-14 11:19:31 +09:00

32 lines
843 B
Rust

use redox_scheme::Socket;
use scheme_utils::Blocking;
use crate::scheme::LogScheme;
mod scheme;
fn daemon(daemon: daemon::SchemeDaemon) -> ! {
let socket = Socket::create().expect("logd: failed to create log scheme");
let mut scheme = LogScheme::new(&socket);
let handler = Blocking::new(&socket, 16);
match daemon.ready_sync_scheme(&socket, &mut scheme) {
Ok(()) => eprintln!("logd: ready_sync_scheme succeeded"),
Err(err) => eprintln!("logd: ready_sync_scheme failed: {err}"),
}
match libredox::call::setrens(0, 0) {
Ok(_) => {}
Err(err) => eprintln!("logd: warning: failed to enter null namespace: {err}"),
}
handler
.process_requests_blocking(scheme)
.expect("logd: failed to process requests");
}
fn main() {
daemon::SchemeDaemon::new(daemon);
}