diff options
Diffstat (limited to 'bitbake/lib/bb/event.py')
| -rw-r--r-- | bitbake/lib/bb/event.py | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 2826e3554f..d73067fcf9 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
| @@ -33,11 +33,12 @@ import atexit | |||
| 33 | import traceback | 33 | import traceback |
| 34 | import bb.utils | 34 | import bb.utils |
| 35 | import bb.compat | 35 | import bb.compat |
| 36 | import bb.exceptions | ||
| 36 | 37 | ||
| 37 | # This is the pid for which we should generate the event. This is set when | 38 | # This is the pid for which we should generate the event. This is set when |
| 38 | # the runqueue forks off. | 39 | # the runqueue forks off. |
| 39 | worker_pid = 0 | 40 | worker_pid = 0 |
| 40 | worker_pipe = None | 41 | worker_fire = None |
| 41 | 42 | ||
| 42 | logger = logging.getLogger('BitBake.Event') | 43 | logger = logging.getLogger('BitBake.Event') |
| 43 | 44 | ||
| @@ -150,20 +151,12 @@ def fire(event, d): | |||
| 150 | # don't have a datastore so the datastore context isn't a problem. | 151 | # don't have a datastore so the datastore context isn't a problem. |
| 151 | 152 | ||
| 152 | fire_class_handlers(event, d) | 153 | fire_class_handlers(event, d) |
| 153 | if worker_pid != 0: | 154 | if worker_fire: |
| 154 | worker_fire(event, d) | 155 | worker_fire(event, d) |
| 155 | else: | 156 | else: |
| 156 | fire_ui_handlers(event, d) | 157 | fire_ui_handlers(event, d) |
| 157 | 158 | ||
| 158 | def worker_fire(event, d): | ||
| 159 | data = "<event>" + pickle.dumps(event) + "</event>" | ||
| 160 | worker_pipe.write(data) | ||
| 161 | |||
| 162 | def fire_from_worker(event, d): | 159 | def fire_from_worker(event, d): |
| 163 | if not event.startswith("<event>") or not event.endswith("</event>"): | ||
| 164 | print("Error, not an event %s" % event) | ||
| 165 | return | ||
| 166 | event = pickle.loads(event[7:-8]) | ||
| 167 | fire_ui_handlers(event, d) | 160 | fire_ui_handlers(event, d) |
| 168 | 161 | ||
| 169 | noop = lambda _: None | 162 | noop = lambda _: None |
