summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-28 10:21:41 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-28 10:21:41 +0000
commit06c6db7929c75f576a395fb442abe447b833fc3b (patch)
treec62b8db28f74cc9cce6e84a7a70bab1be4fa986f
parent754047b6ec01df5f3159cce93b17b8493d0af5e1 (diff)
downloadpoky-06c6db7929c75f576a395fb442abe447b833fc3b.tar.gz
bitbake/runqueue.py: Avoid starvation of events to the server
The server UI was reading 1024 bytes, then sleeping for 0.25 seconds. Since most new LogRecord events are larger than this it leads to a build up of data which is only processed slowly, leading to a bottleneck and a slow down of all bitbake processes. Thanks to Dongxiao Xu <dongxiao.xu@intel.com> for the great work in debugging this. A large value has been left in for the read() command just to ensure some fairness amongst process handling if a task tries to log truly huge amounts of data to the server, or goes crazy and ensures the main loop doesn't stall. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/runqueue.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index b9d89ec082..a3f444c2ab 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1637,7 +1637,7 @@ class runQueuePipe():
1637 def read(self): 1637 def read(self):
1638 start = len(self.queue) 1638 start = len(self.queue)
1639 try: 1639 try:
1640 self.queue = self.queue + self.input.read(1024) 1640 self.queue = self.queue + self.input.read(102400)
1641 except (OSError, IOError): 1641 except (OSError, IOError):
1642 pass 1642 pass
1643 end = len(self.queue) 1643 end = len(self.queue)