Kaydet (Commit) 6f5e19f2 authored tarafından Joffrey F's avatar Joffrey F Kaydeden (comit) GitHub

Merge pull request #1275 from docker/1.10.5-release

1.10.5 release
...@@ -5,9 +5,11 @@ import six ...@@ -5,9 +5,11 @@ import six
import win32file import win32file
import win32pipe import win32pipe
cERROR_PIPE_BUSY = 0xe7
cSECURITY_SQOS_PRESENT = 0x100000 cSECURITY_SQOS_PRESENT = 0x100000
cSECURITY_ANONYMOUS = 0 cSECURITY_ANONYMOUS = 0
cPIPE_READMODE_MESSAGE = 2
RETRY_WAIT_TIMEOUT = 10000
def check_closed(f): def check_closed(f):
...@@ -45,15 +47,27 @@ class NpipeSocket(object): ...@@ -45,15 +47,27 @@ class NpipeSocket(object):
@check_closed @check_closed
def connect(self, address): def connect(self, address):
win32pipe.WaitNamedPipe(address, self._timeout) win32pipe.WaitNamedPipe(address, self._timeout)
handle = win32file.CreateFile( try:
address, handle = win32file.CreateFile(
win32file.GENERIC_READ | win32file.GENERIC_WRITE, address,
0, win32file.GENERIC_READ | win32file.GENERIC_WRITE,
None, 0,
win32file.OPEN_EXISTING, None,
cSECURITY_ANONYMOUS | cSECURITY_SQOS_PRESENT, win32file.OPEN_EXISTING,
0 cSECURITY_ANONYMOUS | cSECURITY_SQOS_PRESENT,
) 0
)
except win32pipe.error as e:
# See Remarks:
# https://msdn.microsoft.com/en-us/library/aa365800.aspx
if e.winerror == cERROR_PIPE_BUSY:
# Another program or thread has grabbed our pipe instance
# before we got to it. Wait for availability and attempt to
# connect again.
win32pipe.WaitNamedPipe(address, RETRY_WAIT_TIMEOUT)
return self.connect(address)
raise e
self.flags = win32pipe.GetNamedPipeInfo(handle)[0] self.flags = win32pipe.GetNamedPipeInfo(handle)[0]
self._handle = handle self._handle = handle
......
version = "1.10.4" version = "1.10.5"
version_info = tuple([int(d) for d in version.split("-")[0].split(".")]) version_info = tuple([int(d) for d in version.split("-")[0].split(".")])
Change Log Change Log
========== ==========
1.10.5
------
[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/24?closed=1)
### Bugfixes
* Fixed an issue where concurrent attempts to access to a named pipe by the
client would sometimes cause recoverable exceptions to be raised.
1.10.4 1.10.4
------ ------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment