execute: Properly log errors considering socket fds (#5910)
Till now if the params->n_fds was 0, systemd was logging that there were more than one sockets. Thanks @gregoryp and @VFXcode who did the most work debugging this.
This commit is contained in:
parent
6d892bd19e
commit
488ab41cb8
|
@ -2927,11 +2927,16 @@ int exec_spawn(Unit *unit,
|
|||
context->std_output == EXEC_OUTPUT_SOCKET ||
|
||||
context->std_error == EXEC_OUTPUT_SOCKET) {
|
||||
|
||||
if (params->n_fds != 1) {
|
||||
if (params->n_fds > 1) {
|
||||
log_unit_error(unit, "Got more than one socket.");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (params->n_fds == 0) {
|
||||
log_unit_error(unit, "Got no socket.");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
socket_fd = params->fds[0];
|
||||
} else {
|
||||
socket_fd = -1;
|
||||
|
|
Loading…
Reference in New Issue