Skip to content
Snippets Groups Projects
Commit 771e2ede authored by Martin Teichmann's avatar Martin Teichmann
Browse files

wait for initialization of serial terminal

parent 6e26a03a
No related merge requests found
......@@ -15,7 +15,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from asyncio import ensure_future, Event, Queue, StreamReader, gather
from asyncio import ensure_future, Event, Future, Queue, StreamReader, gather
from .ebpfcat import Device, TerminalVar
......@@ -45,12 +45,14 @@ class Serial(Device):
def write(self, data):
self.buffer.put_nowait(data)
def connect(self):
self.task = ensure_future(self.run())
async def connect(self):
connected = Future()
self.task = ensure_future(self.run(connected))
self.reader = StreamReader()
await connected
return self.reader, self
async def run(self):
async def run(self, connected):
while not self.init_accept:
self.init_request = True
await self.data_arrived.wait()
......@@ -58,6 +60,8 @@ class Serial(Device):
while self.init_accept:
await self.data_arrived.wait()
connected.set_result(None)
await gather(self.receive(), self.transmit())
async def receive(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment