Mark all FDs as close-on-exec

This marks all FDs which are valid after the function creating them returns
as close-on-exec, so that processes started from ZNC (e.g. through the shell
module) don't inherit a copy of all of our FDs.

Csocket already does this for its FDs.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1004 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2008-04-01 08:52:13 +00:00
parent e7bb3e5daa
commit 73d8456dff
2 changed files with 17 additions and 1 deletions

View File

@@ -7,6 +7,7 @@
*/
#include "FileUtils.h"
#include "Utils.h"
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
@@ -251,6 +252,9 @@ bool CFile::Open(int iFlags, mode_t iMode) {
if (m_iFD < 0)
return false;
/* Make sure this FD isn't given to childs */
SetFdCloseOnExec(m_iFD);
m_bClose = true;
return true;
}