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.