From: Daniel P. Berrange Date: Fri, 4 Dec 2015 17:23:15 +0000 (+0000) Subject: rotatingfile: mark log files as close-on-exec X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=bf02b123d181cc6821b9a0c4a136814bd54b7e67;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git rotatingfile: mark log files as close-on-exec The log file descriptor associated with the virRotatingFile struct should be marked close-on-exec, as even when virtlogd re-exec's itself it expect to open the log file fresh. It does not need to preserve the logfile handles, only the network client FDs. Signed-off-by: Daniel P. Berrange --- diff --git a/src/util/virrotatingfile.c b/src/util/virrotatingfile.c index a32759abe..6654affcd 100644 --- a/src/util/virrotatingfile.c +++ b/src/util/virrotatingfile.c @@ -108,7 +108,7 @@ virRotatingFileWriterEntryNew(const char *path, if (VIR_ALLOC(entry) < 0) return NULL; - if ((entry->fd = open(path, O_CREAT|O_APPEND|O_WRONLY, mode)) < 0) { + if ((entry->fd = open(path, O_CREAT|O_APPEND|O_WRONLY|O_CLOEXEC, mode)) < 0) { virReportSystemError(errno, _("Unable to open file: %s"), path); goto error; @@ -151,7 +151,7 @@ virRotatingFileReaderEntryNew(const char *path) if (VIR_ALLOC(entry) < 0) return NULL; - if ((entry->fd = open(path, O_RDONLY)) < 0) { + if ((entry->fd = open(path, O_RDONLY|O_CLOEXEC)) < 0) { if (errno != ENOENT) { virReportSystemError(errno, _("Unable to open file: %s"), path);