1ab4577a5f
Currently, when a new process is spawned on Windows, the subprocess module is used. When it will run from inside a greenthread it will try to set non-blocking mode on the anonymous pipes that it creates for the process stdin, stdout and stderr. This is not supported in Windows. This patch changes the usage of subprocess.Popen with CreateProcess and implements non-blocking I/O using NamedPipes. The files obtained from CreateFile on the NamedPipe will be passed as stdin, stdout and stderr to the new process spawned with CreateProcess. In order to communicate with the new process, overlapped structures are used to ensure that the greenthread will not be blocked. Change-Id: I173b2e20275e4f89065c657bfcd0128ab4d1d3bc |
||
---|---|---|
.. | ||
__init__.py | ||
ip_lib.py | ||
polling.py | ||
utils.py | ||
winutils.py |