summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzsquareplusc <cliechti@gmx.net>2019-08-13 13:29:50 +0200
committerGitHub <noreply@github.com>2019-08-13 13:29:50 +0200
commit14d613dbde6ae1d54dd2a4975541a0058594812e (patch)
tree1267db5803153ef9468632d2f402e67ceeb8019d
parentc9e246271e009ce7c076b4bb67c0b67a776364b4 (diff)
parentc83599a1089ba66718d355b2478722479cc86028 (diff)
downloadpyserial-git-14d613dbde6ae1d54dd2a4975541a0058594812e.tar.gz
Merge pull request #386 from jfleschExtFlowbird/master
rfc2217/close(): fix race condition
-rw-r--r--serial/rfc2217.py3
1 files changed, 1 insertions, 2 deletions
diff --git a/serial/rfc2217.py b/serial/rfc2217.py
index c0c3ae3..d388038 100644
--- a/serial/rfc2217.py
+++ b/serial/rfc2217.py
@@ -613,7 +613,7 @@ class Serial(SerialBase):
try:
timeout = Timeout(self._timeout)
while len(data) < size:
- if self._thread is None:
+ if self._thread is None or not self._thread.is_alive():
raise SerialException('connection failed (reader thread died)')
buf = self._read_buffer.get(True, timeout.time_left())
if buf is None:
@@ -790,7 +790,6 @@ class Serial(SerialBase):
self._telnet_negotiate_option(telnet_command, byte)
mode = M_NORMAL
finally:
- self._thread = None
if self.logger:
self.logger.debug("read thread terminated")