diff options
author | Richard Purdie <richard@openedhand.com> | 2006-12-04 17:30:47 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2006-12-04 17:30:47 +0000 |
commit | 21fb2cbe1c9a09c8a1afd63b0fbc940b9147ae38 (patch) | |
tree | 2e464633b2fc9c9b3655a86e8f62fc3e71ec1f6d /bitbake | |
parent | 62747098a84f085d6f031999bce6028a01c3ddc6 (diff) | |
download | poky-21fb2cbe1c9a09c8a1afd63b0fbc940b9147ae38.tar.gz |
bitbake runqueue.py: Set children as process group leaders and send SIGTERM to the process groups
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@998 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 07821e23de..5768e3cf19 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -423,6 +423,8 @@ class RunQueue: | |||
423 | active_builds = 0 | 423 | active_builds = 0 |
424 | # Stop Ctrl+C being sent to children | 424 | # Stop Ctrl+C being sent to children |
425 | signal.signal(signal.SIGINT, signal.SIG_IGN) | 425 | signal.signal(signal.SIGINT, signal.SIG_IGN) |
426 | # Make the child the process group leader | ||
427 | os.setpgid(0, 0) | ||
426 | sys.stdin = open('/dev/null', 'r') | 428 | sys.stdin = open('/dev/null', 'r') |
427 | cooker.configuration.cmd = taskname[3:] | 429 | cooker.configuration.cmd = taskname[3:] |
428 | try: | 430 | try: |
@@ -472,7 +474,7 @@ class RunQueue: | |||
472 | except: | 474 | except: |
473 | bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGTERM to remaining %s tasks" % active_builds) | 475 | bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGTERM to remaining %s tasks" % active_builds) |
474 | for k, v in build_pids.iteritems(): | 476 | for k, v in build_pids.iteritems(): |
475 | os.kill(k, signal.SIGTERM) | 477 | os.kill(-k, signal.SIGTERM) |
476 | raise | 478 | raise |
477 | 479 | ||
478 | # Sanity Checks | 480 | # Sanity Checks |