diff options
Diffstat (limited to 'bitbake/lib/bb/server/process.py')
| -rw-r--r-- | bitbake/lib/bb/server/process.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index eba28ad983..5acc105e08 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py | |||
| @@ -71,6 +71,10 @@ def get_lockfile_process_msg(lockfile): | |||
| 71 | return procs.decode("utf-8") | 71 | return procs.decode("utf-8") |
| 72 | return None | 72 | return None |
| 73 | 73 | ||
| 74 | class idleFinish(): | ||
| 75 | def __init__(self, msg): | ||
| 76 | self.msg = msg | ||
| 77 | |||
| 74 | class ProcessServer(): | 78 | class ProcessServer(): |
| 75 | profile_filename = "profile.log" | 79 | profile_filename = "profile.log" |
| 76 | profile_processed_filename = "profile.log.processed" | 80 | profile_processed_filename = "profile.log.processed" |
| @@ -361,7 +365,12 @@ class ProcessServer(): | |||
| 361 | for function, data in list(self._idlefuns.items()): | 365 | for function, data in list(self._idlefuns.items()): |
| 362 | try: | 366 | try: |
| 363 | retval = function(self, data, False) | 367 | retval = function(self, data, False) |
| 364 | if retval is False: | 368 | if isinstance(retval, idleFinish): |
| 369 | serverlog("Removing idle function %s at idleFinish" % str(function)) | ||
| 370 | del self._idlefuns[function] | ||
| 371 | self.cooker.command.finishAsyncCommand(retval.msg) | ||
| 372 | nextsleep = None | ||
| 373 | elif retval is False: | ||
| 365 | serverlog("Removing idle function %s" % str(function)) | 374 | serverlog("Removing idle function %s" % str(function)) |
| 366 | del self._idlefuns[function] | 375 | del self._idlefuns[function] |
| 367 | nextsleep = None | 376 | nextsleep = None |
