Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
diff --git a/PC/_msi.c b/PC/_msi.c
index 6aba8b0..eb69014 100644
--- a/PC/_msi.c
+++ b/PC/_msi.c
@@ -55,7 +55,7 @@
static FNFCIOPEN(cb_open)
{
- int result = _open(pszFile, oflag, pmode);
+ int result = _open(pszFile, oflag | O_NOINHERIT, pmode);
if (result == -1)
*err = errno;
return result;
@@ -179,7 +179,7 @@
CloseHandle(handle);
- return _open(pszName, _O_RDONLY | _O_BINARY);
+ return _open(pszName, _O_RDONLY | _O_BINARY | O_NOINHERIT);
}
static PyObject* fcicreate(PyObject* obj, PyObject* args)
diff --git a/PC/bdist_wininst/install.c b/PC/bdist_wininst/install.c
index c11d45d..e9401d9 100644
--- a/PC/bdist_wininst/install.c
+++ b/PC/bdist_wininst/install.c
@@ -743,7 +743,7 @@
if (pathname == NULL || pathname[0] == '\0')
return 2;
- fh = open(pathname, _O_RDONLY);
+ fh = open(pathname, _O_RDONLY | O_NOINHERIT);
if (-1 == fh) {
fprintf(stderr, "Could not open postinstall-script %s\n",
pathname);