summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Liechti <cliechti@gmx.net>2017-03-05 23:53:40 +0100
committerChris Liechti <cliechti@gmx.net>2017-03-05 23:53:40 +0100
commitd579018695c8f50400cdddb1db7078d2e9da3115 (patch)
tree8ec7622ca6f0595309a83f792a0238e70b456002
parent700a238ca113d8b922aad4d9e71bf8bbc94aa690 (diff)
downloadpyserial-git-d579018695c8f50400cdddb1db7078d2e9da3115.tar.gz
win32: improve error for out_waiting, save exclusive changes
-rw-r--r--serial/serialwin32.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/serial/serialwin32.py b/serial/serialwin32.py
index fd5f730..7b88999 100644
--- a/serial/serialwin32.py
+++ b/serial/serialwin32.py
@@ -442,7 +442,7 @@ class Serial(SerialBase):
flags = win32.DWORD()
comstat = win32.COMSTAT()
if not win32.ClearCommError(self._port_handle, ctypes.byref(flags), ctypes.byref(comstat)):
- raise SerialException('call to ClearCommError failed')
+ raise SerialException("ClearCommError failed ({!r})".format(ctypes.WinError()))
return comstat.cbOutQue
def _cancel_overlapped_io(self, overlapped):
@@ -471,3 +471,5 @@ class Serial(SerialBase):
"""Change the exclusive access setting."""
if exclusive is not None and not exclusive:
raise ValueError('win32 only supports exclusive access (not: {})'.format(exclusive))
+ else:
+ serial.SerialBase.exclusive.__set__(self, exclusive)