[Python-Dev] PEP 3145 (With Contents)

Antoine Pitrou solipsis at pitrou.net
Tue Sep 15 20:23:20 CEST 2009


Hello,

I would like to know if your approach is based on Python 2.x or 3.x.
Python 3.x has new API provisions, in the I/O layer, for non-blocking I/O 
and it would be nice if your work could fit in that framework.

> >    Popen can be made to act like a file by simply
> >    using the methods attached the the subprocess.Popen.stderr, stdout 
and
> >    stdin file-like objects.  But when using the read and write 
methods of
> >    those options, you do not have the benefit of asynchronous I/O.

I'm not sure I understand the latter sentence. Do you imply that, with 
your work, read() and write() do allow you to benefit from async I/O? If 
so, how?

Another question: what mechanism does it use internally? Is this mechanism
accessible from the outside, so that people can e.g. integrate this 
inside a third-party event loop (Twisted, asyncore or whatever else)?

The PEP should probably outline the additional APIs a bit more precisely 
and formally than it currently does.

> >    The Windows
> >    implementation uses ctypes to access the functions needed to 
control pipes
> >    in the kernel 32 DLL in an asynchronous manner.

Sorry for the naive question (I'm not a Windows specialist), but does the
allusion to "kernel32.dll" mean that it doesn't function on 64-bit 
variants?

Thanks for your work,

Regards

Antoine.




More information about the Python-Dev mailing list