STINNER Victor added the comment:
The PEP 446 has been implemented in Python 3.4 and all file descriptors and
sockets are now created non-inheritable by default. Use os.set_inheritable() to
make the pipe fds inheritable.
--
resolution: - fixed
status: open - closed
STINNER Victor added the comment:
os.pipe() creates non-inheritable pipes on Windows, whereas it creates
inheritable pipes on UNIX. IMO the reason is an implementation artifact:
os.pipe() calls CreatePipe() on Windows (native API), whereas it calls pipe()
on UNIX (POSIX API). The call to
Changes by Tim Golden m...@timgolden.me.uk:
--
assignee: tim.golden -
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4708
___
___
Python-bugs-list
STINNER Victor added the comment:
Changing the default inheritance value of os.pipe() is not acceptable because
it would break backward compatibility.
Giving access to Windows extra parameter is nice, but we have to find a way to
propose a portable API. That's what I'm trying to do with the
Richard Oudkerk added the comment:
- would improve POSIX compatibility, it mimics what os.pipe()
does on those OS
I disagree.
On Windows fds can only be inherited if you start processes using the spanwn*()
family of functions. If you start them using CreateProcess() then the
underlying
Richard Oudkerk added the comment:
Oops. I confused os.popen() with os.spawn*(). os.spawnv() IS still
implemented using spawnv() in Python 3.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4708
Christian Heimes added the comment:
Victor, this fits nicely with your recent PEP.
--
nosy: +christian.heimes, haypo
versions: +Python 3.4 -Python 2.6, Python 2.7, Python 3.0, Python 3.1
___
Python tracker rep...@bugs.python.org
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +sbt
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4708
___
___
Python-bugs-list mailing list
Changes by Daniel Goertzen daniel.goert...@gmail.com:
--
nosy: +Daniel.Goertzen
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4708
___
___
Changes by Tim Golden m...@timgolden.me.uk:
--
assignee: - tim.golden
nosy: +tim.golden
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4708
___
Changes by Jesse Noller jnol...@gmail.com:
--
nosy: +jnoller
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4708
___
___
Python-bugs-list mailing
Aaron Brady castiro...@gmail.com added the comment:
This is currently accomplished in 'multiprocessing.forking' with a
'duplicate' function.
Use (line #213):
rfd, wfd = os.pipe()
# get handle for read end of the pipe and make it inheritable
rhandle =
Gabriel Genellina gagsl-...@yahoo.com.ar added the comment:
Patch to posixmodule.c including test case and documentation updates.
Note: I've only run the tests on Windows.
--
keywords: +patch
Added file: http://bugs.python.org/file12460/inheritable_pipes.diff
Gabriel Genellina gagsl-...@yahoo.com.ar added the comment:
From the thread in c.l.p:
Pros (of changing os.pipe() to return inheritable pipes):
- as it isn't explicitely documented whether os.pipe() returns
inheritable pipes or not, both versions are right according to the
documentation.
New submission from Aaron Brady castiro...@gmail.com:
os.pipe should return inheritable descriptors on Windows.
Patch below, test attached. New pipe() returns descriptors, which
cannot be inherited. However, their permissions are set correctly, so
msvcrt.get_osfhandle and
15 matches
Mail list logo