From eef3d03026f6bd6e7528c0250a0a34f57c6bf756 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Fri, 11 Aug 2017 15:43:28 +0200 Subject: [PATCH] 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 --- lib/libfrr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.39.5