neutron/neutron/agent/windows
Alin Balutoiu 1ab4577a5f Replace subprocess.Popen with CreateProcess on Windows
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
2017-04-21 12:10:01 +03:00
..
__init__.py OVS agent support on Hyper-V 2015-03-25 13:48:33 -07:00
ip_lib.py Add IPLink class to Windows ip_lib implementation 2017-01-17 17:39:38 +00:00
polling.py Fixes "OVS Agent doesn't start on Windows" 2016-03-15 03:14:05 +00:00
utils.py Replace subprocess.Popen with CreateProcess on Windows 2017-04-21 12:10:01 +03:00
winutils.py Replace subprocess.Popen with CreateProcess on Windows 2017-04-21 12:10:01 +03:00