log: Open log file CLOEXEC so child processes don't get the fd
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
diff --git a/src/log.c b/src/log.c
index 535bcba..0302c8c 100644
--- a/src/log.c
+++ b/src/log.c
@@ -36,6 +36,8 @@
#include "compositor.h"
+#include "os-compatibility.h"
+
static FILE *weston_logfile = NULL;
static int cached_tm_mday = -1;
@@ -77,8 +79,11 @@
{
wl_log_set_handler_server(custom_handler);
- if (filename != NULL)
+ if (filename != NULL) {
weston_logfile = fopen(filename, "a");
+ if (weston_logfile)
+ os_fd_set_cloexec(fileno(weston_logfile));
+ }
if (weston_logfile == NULL)
weston_logfile = stderr;