From 5b54b637fdca646544f188827142c38951bb32ff Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 7 Dec 2022 09:45:10 +0100 Subject: [PATCH] os.conn.Serial: Don't use line_buffering in fdopen() It's wrong to use line buffering in fdopen(..., ".b"), there's no such thing as a line in binary data, also see https://bugs.python.org/issue32236 Signed-off-by: Jan Lindemann --- src/python/devtest/os/conn/Serial.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/python/devtest/os/conn/Serial.py b/src/python/devtest/os/conn/Serial.py index 195b291..92e93f1 100644 --- a/src/python/devtest/os/conn/Serial.py +++ b/src/python/devtest/os/conn/Serial.py @@ -249,13 +249,13 @@ class Serial(Connection): # export #self._fd = os.open(self._path, self._flags) limit = asyncio.streams._DEFAULT_LIMIT if mode == os.O_WRONLY or mode == os.O_RDWR: - self._wr_stream = os.fdopen(self._fd, mode='wb', buffering=1) + self._wr_stream = os.fdopen(self._fd, mode='wb') #transp, proto = await self.pair.env.eloop.connect_write_pipe(Fifos.Protocol, self._wr_stream) #self._stream_writer = asyncio.streams.StreamWriter(transp, proto, None, loop) transp, proto = await loop.connect_write_pipe(lambda: asyncio.streams.FlowControlMixin(loop=loop), self._wr_stream) self._stream_writer = asyncio.streams.StreamWriter(transp, proto, None, loop) if mode == os.O_RDONLY or mode == os.O_RDWR: - self._rd_stream = os.fdopen(self._fd, mode='rb', buffering=1) + self._rd_stream = os.fdopen(self._fd, mode='rb') #transp, proto = await self.pair.env.eloop.connect_read_pipe(Fifos.Protocol, self._rd_stream) #self._stream_reader = asyncio.streams.StreamReader(transp, proto, None, loop) self._stream_reader = asyncio.StreamReader(limit=limit, loop=loop)