From e60706d4668482e8b2c8881af64732782826d69a Mon Sep 17 00:00:00 2001 From: oetiker Date: Sun, 28 Sep 2008 19:09:34 +0000 Subject: [PATCH] The PID file is created with open() in the parent process, while we still have STDERR open. If it cannot be created, it complains verbosely to stderr. The PID file is written in the child process. The only way the fdopen() will fail on a fd that is already open is if you're completely out of memory. As in other places in the code, I didn't consider this a case that required a very verbose message. (Search for "strdup failed"). If you still think a more verbose message is called for, please suggest one. The attached patch corrects the error message to complain about fdopen() vs fopen(). I hadn't noticed that until you brought it up. -- kevin brintnall git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1532 a5681a0c-68f1-0310-ab6d-d61299d08faa --- program/src/rrd_daemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/program/src/rrd_daemon.c b/program/src/rrd_daemon.c index d30893ed..18b71437 100644 --- a/program/src/rrd_daemon.c +++ b/program/src/rrd_daemon.c @@ -236,7 +236,7 @@ static int write_pidfile (int fd) /* {{{ */ fh = fdopen (fd, "w"); if (fh == NULL) { - RRDD_LOG (LOG_ERR, "write_pidfile: fopen() failed."); + RRDD_LOG (LOG_ERR, "write_pidfile: fdopen() failed."); close(fd); return (-1); } -- 2.30.2