Skip to content

Commit fc86a32

Browse files
committed
Works ?
1 parent 802cb2b commit fc86a32

File tree

1 file changed

+4
-16
lines changed

1 file changed

+4
-16
lines changed

pymodbus/transport/serialtransport.py

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
with contextlib.suppress(ImportError):
1010
import serial
1111

12+
1213
class SerialTransport(asyncio.Transport):
1314
"""An asyncio serial transport."""
1415

15-
force_poll: bool
16+
force_poll: bool = os.name == "nt"
1617

1718
def __init__(self, loop, protocol, url, baudrate, bytesize, parity, stopbits, timeout) -> None:
1819
"""Initialize."""
@@ -34,13 +35,7 @@ def setup(self) -> None:
3435
self.poll_task = asyncio.create_task(self.polling_task())
3536
self.poll_task.set_name("SerialTransport poll")
3637
else:
37-
try:
38-
self.async_loop.add_reader(self.sync_serial.fileno(), self.intern_read_ready)
39-
except Exception as exc:
40-
text = f"JAN setup --> os.name({os.name}) and {exc} force({self.force_poll})"
41-
raise Exception(text) # pylint: disable=raise-missing-from,broad-exception-raised
42-
43-
38+
self.async_loop.add_reader(self.sync_serial.fileno(), self.intern_read_ready)
4439
self.async_loop.call_soon(self.intern_protocol.connection_made, self)
4540

4641
def close(self, exc: Exception | None = None) -> None:
@@ -64,11 +59,7 @@ def write(self, data) -> None:
6459
"""Write some data to the transport."""
6560
self.intern_write_buffer.append(data)
6661
if not self.force_poll:
67-
try:
68-
self.async_loop.add_writer(self.sync_serial.fileno(), self.intern_write_ready)
69-
except Exception as exc:
70-
text = f"JAN write --> os.name({os.name}) and {exc} force({self.force_poll})"
71-
raise Exception(text) # pylint: disable=raise-missing-from,broad-exception-raised
62+
self.async_loop.add_writer(self.sync_serial.fileno(), self.intern_write_ready)
7263

7364
def flush(self) -> None:
7465
"""Clear output buffer and stops any more data being written."""
@@ -182,6 +173,3 @@ async def create_serial_connection(
182173
timeout)
183174
loop.call_soon(transport.setup)
184175
return transport, protocol
185-
186-
187-
SerialTransport.force_poll = os.name == "nt"

0 commit comments

Comments
 (0)