[oe-commits] [bitbake] 03/04: process: Fix disconnect when BB_SERVER_TIMEOUT
git at git.openembedded.org
git at git.openembedded.org
Tue Aug 8 12:16:34 UTC 2017
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository bitbake.
commit 7b739a38601b053d9bea4df2c0b44a952ab670c4
Author: Robert Yang <liezhi.yang at windriver.com>
AuthorDate: Tue Aug 8 02:12:07 2017 -0700
process: Fix disconnect when BB_SERVER_TIMEOUT
Fixed:
$ export BB_SERVER_TIMEOUT=10000
$ bitbake --server-only
$ bitbake --status-only
[snip]
File "/buildarea/lyang1/poky/bitbake/lib/bb/server/process.py", line 472, in recvfds
msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size))
OSError: [Errno 9] Bad file descriptor
And:
$ export BB_SERVER_TIMEOUT=10000
$ bitbake --server-only -B localhost:-1
$ bitbake --status-only # Everything is fine in first run
$ bitbake --status-only
[snip]
File "/buildarea/lyang1/poky/bitbake/lib/bb/server/process.py", line 472, in recvfds
msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size))
OSError: [Errno 9] Bad file descriptor
This was because self.controllersock was not set to False, so it still ran
sock.recvmsg() when sock was closed.
And also need set command_channel to Flase, otherwise the
self.command_channel.get() will always run when EOF, and cause infinite loop.
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
lib/bb/server/process.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index bfd6404..5b8a549 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -173,6 +173,7 @@ class ProcessServer(multiprocessing.Process):
self.event_writer.writer.close()
del self.event_writer
self.controllersock.close()
+ self.controllersock = False
self.haveui = False
self.lastui = time.time()
self.cooker.clientComplete()
@@ -188,6 +189,7 @@ class ProcessServer(multiprocessing.Process):
command = self.command_channel.get()
except EOFError:
# Client connection shutting down
+ self.command_channel = False
continue
if command[0] == "terminateServer":
self.quit = True
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list