summaryrefslogtreecommitdiffstats
path: root/bitbake-dev
diff options
context:
space:
mode:
authorRob Bradford <rob@linux.intel.com>2008-10-21 15:33:38 +0100
committerRob Bradford <rob@linux.intel.com>2008-10-21 15:51:32 +0100
commitf51afdc7b6b9cbdcdc32f5b9ed3f60a16e77b82f (patch)
tree217e81ea62069d258de885b45a3c140875c39a1e /bitbake-dev
parente1155bcd797b1fde9f6d1ee3cbdae61a022d8382 (diff)
downloadpoky-f51afdc7b6b9cbdcdc32f5b9ed3f60a16e77b82f.tar.gz
bitbake-dev: Include the worker's PID in events
When the runqueue forks off we save the pid inside the event module for that thread. When we next fire an event then that PID gets included in the events.
Diffstat (limited to 'bitbake-dev')
-rw-r--r--bitbake-dev/lib/bb/event.py5
-rw-r--r--bitbake-dev/lib/bb/runqueue.py12
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.
25import os, re 25import os, re
26import bb.utils 26import bb.utils
27 27
28# This is the pid for which we should generate the event. This is set when
29# the runqueue forks off.
30worker_pid = 0
31
28class Event: 32class Event:
29 """Base class for events""" 33 """Base class for events"""
30 type = "Event" 34 type = "Event"
31 35
32 def __init__(self, d): 36 def __init__(self, d):
33 self._data = d 37 self._data = d
38 self.pid = worker_pid
34 39
35 def getData(self): 40 def getData(self):
36 return self._data 41 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:
971 self.stats.taskSkipped() 971 self.stats.taskSkipped()
972 continue 972 continue
973 973
974 bb.event.fire(runQueueTaskStarted(task, self.stats, self, self.cfgData))
975 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)))
976 sys.stdout.flush() 974 sys.stdout.flush()
977 sys.stderr.flush() 975 sys.stderr.flush()
978 try: 976 try:
@@ -980,6 +978,16 @@ class RunQueue:
980 except OSError, e: 978 except OSError, e:
981 bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror)) 979 bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror))
982 if pid == 0: 980 if pid == 0:
981 # Save out the PID so that the event can include it the
982 # events
983 bb.event.worker_pid = os.getpid()
984
985 bb.event.fire(runQueueTaskStarted(task, self.stats, self, self.cfgData))
986 bb.msg.note(1, bb.msg.domain.RunQueue,
987 "Running task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + 1,
988 self.stats.total,
989 task,
990 self.get_user_idstring(task)))
983 self.state = runQueueChildProcess 991 self.state = runQueueChildProcess
984 # Make the child the process group leader 992 # Make the child the process group leader
985 os.setpgid(0, 0) 993 os.setpgid(0, 0)