From: Richard Purdie Date: Wed, 9 Sep 2015 21:44:37 +0000 (+0100) Subject: bitbake-worker: Ensure pipe closure doesn't crash before killpg() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60f6c2818f38c4d9c2d9aaa42acf3071636f4a3b;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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. Signed-off-by: Richard Purdie --- diff --git a/bin/bitbake-worker b/bin/bitbake-worker index 5f6543b7e9b..af17b874aa3 100755 --- a/bin/bitbake-worker +++ b/bin/bitbake-worker @@ -87,7 +87,11 @@ def worker_child_fire(event, d): global worker_pipe data = "" + pickle.dumps(event) + "" - worker_pipe.write(data) + try: + worker_pipe.write(data) + except IOError: + sigterm_handler(None, None) + raise bb.event.worker_fire = worker_fire