mirror of
https://github.com/michael-yuji/xc.git
synced 2026-03-23 01:05:22 +01:00
Better error logging when exec failed
This commit is contained in:
@@ -791,12 +791,17 @@ fn main() -> Result<(), ActionError> {
|
||||
use_tty: terminal,
|
||||
};
|
||||
|
||||
if let Ok(response) = do_exec(&mut conn, request)? {
|
||||
if let Some(socket) = response.terminal_socket {
|
||||
_ = attach::run(socket);
|
||||
match do_exec(&mut conn, request)? {
|
||||
Ok(response) => {
|
||||
if let Some(socket) = response.terminal_socket {
|
||||
_ = attach::run(socket);
|
||||
}
|
||||
let exit = n.notified_sync_take_value();
|
||||
std::process::exit((exit.unwrap_or(2) - 1) as i32)
|
||||
},
|
||||
Err(err) => {
|
||||
eprintln!("{err:?}")
|
||||
}
|
||||
let exit = n.notified_sync_take_value();
|
||||
std::process::exit((exit.unwrap_or(2) - 1) as i32)
|
||||
}
|
||||
}
|
||||
Action::Volume(action) => {
|
||||
|
||||
@@ -381,13 +381,16 @@ impl ProcessRunner {
|
||||
|
||||
match result {
|
||||
Ok(spawn_info) => write_response(0, spawn_info).unwrap(),
|
||||
Err(_err) => write_response(
|
||||
freebsd::libc::EIO,
|
||||
serde_json::json!({
|
||||
"message": "failed to spawn"
|
||||
}),
|
||||
)
|
||||
.unwrap(),
|
||||
Err(err) => {
|
||||
error!("exec error: {err:?}");
|
||||
write_response(
|
||||
freebsd::libc::EIO,
|
||||
serde_json::json!({
|
||||
"message": format!("failed to spawn process in container: {err:?}")
|
||||
}),
|
||||
)
|
||||
.unwrap()
|
||||
},
|
||||
}
|
||||
} else if method == "run_main" {
|
||||
if let Some(main) = self.container.main_proto.clone() {
|
||||
|
||||
@@ -296,7 +296,7 @@ impl Site {
|
||||
if response.errno == 0 {
|
||||
Ok(serde_json::from_value(response.value).unwrap())
|
||||
} else {
|
||||
ipc_err(freebsd::libc::EIO, "something went wrong")
|
||||
ipc_err(freebsd::libc::EIO, &format!("something went wrong: {:?}", response.value))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user