bitbake: bitbake-worker: Ensure pipe closure doesn't crash before killpg()

If the pipe is closed, we want to ensure that we kill any child processes
by triggering the sigterm handler before we exit. This code does that,
hopefully avoiding the remaining process left behind issues on the autobuilder.

(Bitbake rev: 60f6c2818f38c4d9c2d9aaa42acf3071636f4a3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2015-09-09 22:44:37 +01:00
parent aaa48b69f3
commit 68aefbb27d
1 changed files with 5 additions and 1 deletions

View File

@ -87,7 +87,11 @@ def worker_child_fire(event, d):
global worker_pipe
data = "<event>" + pickle.dumps(event) + "</event>"
worker_pipe.write(data)
try:
worker_pipe.write(data)
except IOError:
sigterm_handler(None, None)
raise
bb.event.worker_fire = worker_fire