diff options
-rw-r--r-- | src/mod_rrdtool.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mod_rrdtool.c b/src/mod_rrdtool.c index 1719d3ca..b320b15b 100644 --- a/src/mod_rrdtool.c +++ b/src/mod_rrdtool.c @@ -131,6 +131,12 @@ int mod_rrd_create_pipe(server *srv, plugin_data *p) { /* not needed */ close(to_rrdtool_fds[1]); + close(STDERR_FILENO); + if (srv->log_error_fd != -1) { + dup2(srv->log_error_fd, STDERR_FILENO); + close(srv->log_error_fd); + } + /* set up args */ argc = 3; args = malloc(sizeof(*args) * argc); @@ -142,7 +148,7 @@ int mod_rrd_create_pipe(server *srv, plugin_data *p) { /* we don't need the client socket */ for (i = 3; i < 256; i++) { - if (i != srv->log_error_fd) close(i); + close(i); } /* exec the cgi */ |