summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Liechti <cliechti@gmx.net>2016-09-16 23:53:21 +0200
committerChris Liechti <cliechti@gmx.net>2016-09-16 23:53:21 +0200
commitab1ff4887308bc49ba2d044b1cbb9844cb376ab8 (patch)
tree1f7246af8e5ca82716ed049232d70c60ad24516b
parentc600e2354fe3a7b4f0d5ba219e180e93b10e1651 (diff)
downloadpyserial-git-ab1ff4887308bc49ba2d044b1cbb9844cb376ab8.tar.gz
win32: fix return value of non-blocking write, fixes #162
-rw-r--r--CHANGES.rst3
-rw-r--r--serial/serialwin32.py5
2 files changed, 7 insertions, 1 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 31912b8..d03cefa 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -666,3 +666,6 @@ Bugfixes (posix):
port created by socat on OS X
- [#157] Broken handling of CMSPAR in serialposix.py
+Bugfixes (win32):
+
+- [#162] Write in non-blocking mode returns incorrect value on windows
diff --git a/serial/serialwin32.py b/serial/serialwin32.py
index 2927864..2de6a4b 100644
--- a/serial/serialwin32.py
+++ b/serial/serialwin32.py
@@ -320,7 +320,10 @@ class Serial(SerialBase):
return n.value # canceled IO is no error
if n.value != len(data):
raise writeTimeoutError
- return n.value
+ return n.value
+ else:
+ # no info on true length provided by OS function in async mode
+ return len(data)
else:
return 0