summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/bin/bitbake-worker8
1 files changed, 6 insertions, 2 deletions
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker
index 9334f11fb8..40da7a0c2b 100755
--- a/bitbake/bin/bitbake-worker
+++ b/bitbake/bin/bitbake-worker
@@ -118,7 +118,9 @@ def worker_child_fire(event, d):
118 data = b"<event>" + pickle.dumps(event) + b"</event>" 118 data = b"<event>" + pickle.dumps(event) + b"</event>"
119 try: 119 try:
120 worker_pipe_lock.acquire() 120 worker_pipe_lock.acquire()
121 worker_pipe.write(data) 121 while(len(data)):
122 written = worker_pipe.write(data)
123 data = data[written:]
122 worker_pipe_lock.release() 124 worker_pipe_lock.release()
123 except IOError: 125 except IOError:
124 sigterm_handler(None, None) 126 sigterm_handler(None, None)
@@ -321,7 +323,9 @@ class runQueueWorkerPipe():
321 end = len(self.queue) 323 end = len(self.queue)
322 index = self.queue.find(b"</event>") 324 index = self.queue.find(b"</event>")
323 while index != -1: 325 while index != -1:
324 worker_fire_prepickled(self.queue[:index+8]) 326 msg = self.queue[:index+8]
327 assert msg.startswith(b"<event>") and msg.count(b"<event>") == 1
328 worker_fire_prepickled(msg)
325 self.queue = self.queue[index+8:] 329 self.queue = self.queue[index+8:]
326 index = self.queue.find(b"</event>") 330 index = self.queue.find(b"</event>")
327 return (end > start) 331 return (end > start)