bitbake: asyncrpc: serv: correct closed client socket detection

If the client socket is closed, asyncio.StreamReader.readline() will
return an empty bytes object, not None.

This prevents multiple tracebacks being logged by bitbake-hashserv each
time bitbake is started and performs a connection check.

(Bitbake rev: 4bdd9ba43f34a1473db31a6a3b10bd33e358fe3a)

Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2d07f252704dff7747fa1f9adf223a452806717f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Justin Bronder
2022-11-09 04:29:35 -10:00
committed by Richard Purdie
parent 186d179614
commit 25f355e0ef

View File

@@ -42,7 +42,7 @@ class AsyncServerConnection(object):
# Read protocol and version
client_protocol = await self.reader.readline()
if client_protocol is None:
if not client_protocol:
return
(client_proto_name, client_proto_version) = client_protocol.decode('utf-8').rstrip().split()
@@ -59,7 +59,7 @@ class AsyncServerConnection(object):
# an empty line to signal the end of the headers
while True:
line = await self.reader.readline()
if line is None:
if not line:
return
line = line.decode('utf-8').rstrip()