diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2017-10-03 16:11:07 -0300 |
|---|---|---|
| committer | Renato Westphal <renato@opensourcerouting.org> | 2017-10-03 17:16:32 -0300 |
| commit | 547322cb0f19b37b1a584e9e6ee867e230c648d7 (patch) | |
| tree | 03f118b7b8a7dea78b74f025fa1e20b484f9d730 /lib/command_py.c | |
| parent | 3b2d98c58e2a5b1db6fbcd7ffb8d9f7972654b82 (diff) | |
ldpd: detach stdin/stdout/stderr from the child processes
Doing a "ssh user@node 'ldpd -d'" was making the SSH session hang. In
the original OpenBSD's ldpd(8) daemon, the daemon function takes care
of connecting stdin/stdout/stderr to /dev/null. In the FRR port, this
only happens in the frr_run() function, after all children have been
forked. Ideally we could try to rearrange libfrr.c and ldpd.c in a way
that start_child() is called only after the parent connects the standard
I/O streams to /dev/null. But since this issue needs an immediate
fix, let's do this workaround for now. Note: even when running on the
foreground, all log messages from the child processes are sent to the
parent process, which then prints the messages to stdout/stderr and/or
to a log file.
Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'lib/command_py.c')
0 files changed, 0 insertions, 0 deletions
