diff options
author | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2008-06-19 00:29:52 +0000 |
---|---|---|
committer | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2008-06-19 00:29:52 +0000 |
commit | b61320866cbbfc8a01c410c66a9d6c4484f1cc14 (patch) | |
tree | a8bee56c01b2cda47968265d70fbac7de37eca47 /pyserial | |
parent | 71058bb87a0ffd827c885a4004b3299210b4b0a3 (diff) | |
download | pyserial-git-b61320866cbbfc8a01c410c66a9d6c4484f1cc14.tar.gz |
fix bug 1679013
Diffstat (limited to 'pyserial')
-rw-r--r-- | pyserial/CHANGES.txt | 1 | ||||
-rw-r--r-- | pyserial/serial/serialwin32.py | 12 |
2 files changed, 9 insertions, 4 deletions
diff --git a/pyserial/CHANGES.txt b/pyserial/CHANGES.txt index 0cdf246..95bf6ff 100644 --- a/pyserial/CHANGES.txt +++ b/pyserial/CHANGES.txt @@ -270,4 +270,5 @@ Bugfixes (posix): Bugfixes (win32): - [Bug 1520357] Handle leak +- [Bug 1679013] Ignore excpetion raised by SetCommTimeout() in close(). - [Bug 1938118] process hang forever under XP diff --git a/pyserial/serial/serialwin32.py b/pyserial/serial/serialwin32.py index eb3e3e4..ead5ec5 100644 --- a/pyserial/serial/serialwin32.py +++ b/pyserial/serial/serialwin32.py @@ -11,7 +11,7 @@ import win32event # We use events and the WaitFor[Single|Multiple]Objects functi import win32con # constants. from serialutil import * -VERSION = "$Revision: 1.39 $".split()[1] #extract CVS version +VERSION = "$Revision: 1.40 $".split()[1] #extract CVS version #from winbase.h. these should realy be in win32con MS_CTS_ON = 16 @@ -164,9 +164,13 @@ class Serial(SerialBase): """Close port""" if self._isOpen: if self.hComPort: - #Restore original timeout values: - win32file.SetCommTimeouts(self.hComPort, self._orgTimeouts) - #Close COM-Port: + try: + # Restore original timeout values: + win32file.SetCommTimeouts(self.hComPort, self._orgTimeouts) + except win32file.error: + # ignore errors. can happen for unplugged USB serial devices + pass + # Close COM-Port: win32file.CloseHandle(self.hComPort) win32file.CloseHandle(self._overlappedRead.hEvent) win32file.CloseHandle(self._overlappedWrite.hEvent) |