mirror of
git://git.yoctoproject.org/poky
synced 2026-08-13 09:57:15 +00:00
qemurunner: Simplify binary data handling
I have concerns that bad timing of the flow of data from the logger might corrupt the output due to the way binary strings are handled in qemurunner. This simplifies the code to do the same thing it did before but much more safely. (From OE-Core rev: 1e87283e92a2765bb5d54d17138b208bc395953b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
0c2ba71468
commit
a9d7f098f9
@ -275,7 +275,7 @@ class QemuRunner:
|
||||
reachedlogin = False
|
||||
stopread = False
|
||||
qemusock = None
|
||||
bootlog = ''
|
||||
bootlog = b''
|
||||
data = b''
|
||||
while time.time() < endtime and not stopread:
|
||||
try:
|
||||
@ -292,17 +292,13 @@ class QemuRunner:
|
||||
else:
|
||||
data = data + sock.recv(1024)
|
||||
if data:
|
||||
try:
|
||||
data = data.decode("utf-8", errors="surrogateescape")
|
||||
bootlog += data
|
||||
data = b''
|
||||
if re.search(".* login:", bootlog):
|
||||
self.server_socket = qemusock
|
||||
stopread = True
|
||||
reachedlogin = True
|
||||
self.logger.debug("Reached login banner")
|
||||
except UnicodeDecodeError:
|
||||
continue
|
||||
bootlog += data
|
||||
data = b''
|
||||
if b' login:' in bootlog:
|
||||
self.server_socket = qemusock
|
||||
stopread = True
|
||||
reachedlogin = True
|
||||
self.logger.debug("Reached login banner")
|
||||
else:
|
||||
socklist.remove(sock)
|
||||
sock.close()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user