init: replace .expect("TODO") on namespace registration with descriptive panic messages
The scheme-service boot path in service.rs used .expect("TODO") on two
boot-critical libredox calls:
- libredox::call::getns() — gets a fd to the current namespace
- libredox::call::register_scheme_to_ns() — registers the spawned
scheme into that namespace
If either call fails the scheme is invisible, which is non-recoverable
for boot. The placeholder "TODO" message gave no diagnostic value.
Replaced with descriptive messages:
- getns: .expect("init: failed to get current namespace fd; ...")
- register_scheme: unwrap_or_else(|e| panic!(...)) including the
scheme name and the error, matching the existing pattern at line 87
(create_pipe unwrap_or_else).
No behaviour change — both paths still panic on failure. The only
difference is that the panic message now identifies the failure and
includes the offending scheme name.
This commit is contained in:
+8
-2
@@ -137,9 +137,15 @@ impl Service {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let current_namespace_fd = libredox::call::getns().expect("TODO");
|
let current_namespace_fd = libredox::call::getns()
|
||||||
|
.expect("init: failed to get current namespace fd; boot cannot continue");
|
||||||
libredox::call::register_scheme_to_ns(current_namespace_fd, scheme, new_fd)
|
libredox::call::register_scheme_to_ns(current_namespace_fd, scheme, new_fd)
|
||||||
.expect("TODO");
|
.unwrap_or_else(|e| {
|
||||||
|
panic!(
|
||||||
|
"init: failed to register scheme '{}' in namespace: {}; boot cannot continue",
|
||||||
|
scheme, e
|
||||||
|
)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
ServiceType::Oneshot => {
|
ServiceType::Oneshot => {
|
||||||
drop(read_pipe);
|
drop(read_pipe);
|
||||||
|
|||||||
Reference in New Issue
Block a user