diff options
Diffstat (limited to 'bitbake-dev/lib')
| -rw-r--r-- | bitbake-dev/lib/bb/event.py | 5 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/runqueue.py | 12 | 
2 files changed, 15 insertions, 2 deletions
| diff --git a/bitbake-dev/lib/bb/event.py b/bitbake-dev/lib/bb/event.py index e5cae275ac..8f0a1961df 100644 --- a/bitbake-dev/lib/bb/event.py +++ b/bitbake-dev/lib/bb/event.py @@ -25,12 +25,17 @@ BitBake build tools.  import os, re  import bb.utils +# This is the pid for which we should generate the event. This is set when +# the runqueue forks off. +worker_pid = 0 +  class Event:      """Base class for events"""      type = "Event"      def __init__(self, d):          self._data = d +        self.pid = worker_pid      def getData(self):          return self._data diff --git a/bitbake-dev/lib/bb/runqueue.py b/bitbake-dev/lib/bb/runqueue.py index 26e4c32f88..1667205829 100644 --- a/bitbake-dev/lib/bb/runqueue.py +++ b/bitbake-dev/lib/bb/runqueue.py @@ -971,8 +971,6 @@ class RunQueue:                      self.stats.taskSkipped()                      continue -                bb.event.fire(runQueueTaskStarted(task, self.stats, self, self.cfgData)) -                bb.msg.note(1, bb.msg.domain.RunQueue, "Running task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + 1, self.stats.total, task, self.get_user_idstring(task)))                  sys.stdout.flush()                  sys.stderr.flush()                  try:  @@ -980,6 +978,16 @@ class RunQueue:                  except OSError, e:                       bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror))                  if pid == 0: +                    # Save out the PID so that the event can include it the +                    # events +                    bb.event.worker_pid = os.getpid() + +                    bb.event.fire(runQueueTaskStarted(task, self.stats, self, self.cfgData)) +                    bb.msg.note(1, bb.msg.domain.RunQueue, +                                "Running task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + 1, +                                                                        self.stats.total, +                                                                        task, +                                                                        self.get_user_idstring(task)))                      self.state = runQueueChildProcess                      # Make the child the process group leader                      os.setpgid(0, 0) | 
