소스 검색

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>
Richard Purdie 9 년 전
부모
커밋
68aefbb27d
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      bitbake/bin/bitbake-worker

+ 5 - 1
bitbake/bin/bitbake-worker

@@ -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