windows, python: Remove code duplication in send/recv functions
Move the return value at the end of the function
regardless of the pending/non-pending operation.
Acked-by: Russell Bryant
Acked-by: Alin Gabriel Serdean
@@ -321,11 +321,6 @@ class Stream(object):
self._read,
False)
self._read_pending = False
- recvBuffer = self._read_buffer[:nBytesRead]
- # recvBuffer will have the type memoryview in Python3.
- # We can use bytes to convert it to type bytes which works on
- # both Python2 and Python3.
- return (0, bytes(recvBuffer))
except pywintypes.error as e:
if e.winerror == winutils.winerror.ERROR_IO_INCOMPLETE:
# The operation is still pending, try again
@@ -336,6 +331,7 @@ class Stream(object):
return (0, "")
else:
return (errno.EINVAL, "")
+ else:
(errCode, self._read_buffer) = winutils.read_file(self.pipe,
n,
self._read)
@@ -406,7 +402,6 @@ class Stream(object):
self._write,
False)
self._write_pending = False
- return nBytesWritten
except pywintypes.error as e:
if e.winerror == winutils.winerror.ERROR_IO_INCOMPLETE:
# The operation is still pending, try again
@@ -417,8 +412,7 @@ class Stream(object):
return -errno.ECONNRESET
else:
return -errno.EINVAL
-
- self._write_pending = False
+ else:
(errCode, nBytesWritten) = winutils.write_file(self.pipe,
buf,
self._write)
