svn commit: r211884 - head/sbin/hastd
Pawel Jakub Dawidek
pjd at FreeBSD.org
Fri Aug 27 14:35:39 UTC 2010
Author: pjd
Date: Fri Aug 27 14:35:39 2010
New Revision: 211884
URL: http://svn.freebsd.org/changeset/base/211884
Log:
When logging to stdout/stderr don't close those descriptors after fork().
MFC after: 2 weeks
Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com
Modified:
head/sbin/hastd/hooks.c
Modified: head/sbin/hastd/hooks.c
==============================================================================
--- head/sbin/hastd/hooks.c Fri Aug 27 14:28:39 2010 (r211883)
+++ head/sbin/hastd/hooks.c Fri Aug 27 14:35:39 2010 (r211884)
@@ -61,8 +61,21 @@ descriptors(void)
pjdlog_errno(LOG_WARNING, "sysconf(_SC_OPEN_MAX) failed");
maxfd = 1024;
}
- for (fd = 0; fd <= maxfd; fd++)
- close(fd);
+ for (fd = 0; fd <= maxfd; fd++) {
+ switch (fd) {
+ case STDIN_FILENO:
+ case STDOUT_FILENO:
+ case STDERR_FILENO:
+ if (pjdlog_mode_get() == PJDLOG_MODE_STD)
+ break;
+ /* FALLTHROUGH */
+ default:
+ close(fd);
+ break;
+ }
+ }
+ if (pjdlog_mode_get() == PJDLOG_MODE_STD)
+ return;
/*
* Redirect stdin, stdout and stderr to /dev/null.
*/
More information about the svn-src-all
mailing list