]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: server/process: Handle short reads
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 29 Nov 2018 16:51:39 +0000 (16:51 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 5 Dec 2018 13:11:27 +0000 (13:11 +0000)
Its possible the read may return a smaller number of characters. Remove
the possibility by using a single character to signal the server is ready.

(Bitbake rev: 767c9596d129d21ddf5d2e00c55f0a0525c641dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/server/process.py

index d56681c5a97b5c0f460f84a4f10ef360505ebc49..fd1ba47fd52cc131515f3970f39ad03de3458d18 100644 (file)
@@ -407,9 +407,9 @@ class BitBakeServer(object):
             except EOFError:
                 # Trap the child exitting/closing the pipe and error out
                 r = None
-        if not r or r != "ready":
+        if not r or r[0] != "r":
             ready.close()
-            bb.error("Unable to start bitbake server")
+            bb.error("Unable to start bitbake server (%s)" % str(r))
             if os.path.exists(logfile):
                 logstart_re = re.compile(self.start_log_format % ('([0-9]+)', '([0-9-]+ [0-9:.]+)'))
                 started = False
@@ -450,7 +450,7 @@ class BitBakeServer(object):
         os.close(self.readypipe)
         writer = ConnectionWriter(self.readypipein)
         self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
-        writer.send("ready")
+        writer.send("r")
         writer.close()
         server.cooker = self.cooker
         server.server_timeout = self.configuration.server_timeout