From: David Lamparter Date: Fri, 11 Aug 2017 13:43:28 +0000 (+0200) Subject: lib: don't close stdio when running foreground X-Git-Tag: frr-4.0-dev~422^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=eef3d03026f6bd6e7528c0250a0a34f57c6bf756;p=matthieu%2Ffrr.git lib: don't close stdio when running foreground c9c8d0d ("lib: close stdin/out/err in non-terminal case") overshot its goal and closes stdin/stdout/stderr even when a daemon is running in foreground. That means stdout logging & exit memory reporting are both broken. Reported-by: Lou Berger Signed-off-by: David Lamparter --- diff --git a/lib/libfrr.c b/lib/libfrr.c index e5573da900..a5c87e6edc 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -812,7 +812,7 @@ void frr_run(struct thread_master *master) thread_add_read(master, frr_daemon_ctl, NULL, daemon_ctl_sock, &daemon_ctl_thread); } - } else { + } else if (di->daemon_mode) { int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY); dup2(nullfd, 0); dup2(nullfd, 1);