diff options
Diffstat (limited to 'poky/meta/classes/package_deb.bbclass')
-rw-r--r-- | poky/meta/classes/package_deb.bbclass | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/poky/meta/classes/package_deb.bbclass b/poky/meta/classes/package_deb.bbclass index 2e8d17d3c7..6f81591653 100644 --- a/poky/meta/classes/package_deb.bbclass +++ b/poky/meta/classes/package_deb.bbclass @@ -41,32 +41,6 @@ def debian_arch_map(arch, tune): return arch python do_package_deb () { - - import multiprocessing - import traceback - - class DebianWritePkgProcess(multiprocessing.Process): - def __init__(self, *args, **kwargs): - multiprocessing.Process.__init__(self, *args, **kwargs) - self._pconn, self._cconn = multiprocessing.Pipe() - self._exception = None - - def run(self): - try: - multiprocessing.Process.run(self) - self._cconn.send(None) - except Exception as e: - tb = traceback.format_exc() - self._cconn.send((e, tb)) - - @property - def exception(self): - if self._pconn.poll(): - self._exception = self._pconn.recv() - return self._exception - - oldcwd = os.getcwd() - packages = d.getVar('PACKAGES') if not packages: bb.debug(1, "PACKAGES not defined, nothing to package") @@ -76,30 +50,7 @@ python do_package_deb () { if os.access(os.path.join(tmpdir, "stamps", "DEB_PACKAGE_INDEX_CLEAN"),os.R_OK): os.unlink(os.path.join(tmpdir, "stamps", "DEB_PACKAGE_INDEX_CLEAN")) - max_process = int(d.getVar("BB_NUMBER_THREADS") or os.cpu_count() or 1) - launched = [] - error = None - pkgs = packages.split() - while not error and pkgs: - if len(launched) < max_process: - p = DebianWritePkgProcess(target=deb_write_pkg, args=(pkgs.pop(), d)) - p.start() - launched.append(p) - for q in launched: - # The finished processes are joined when calling is_alive() - if not q.is_alive(): - launched.remove(q) - if q.exception: - error, traceback = q.exception - break - - for p in launched: - p.join() - - os.chdir(oldcwd) - - if error: - raise error + oe.utils.multiprocess_launch(deb_write_pkg, packages.split(), d, extraargs=(d,)) } do_package_deb[vardeps] += "deb_write_pkg" do_package_deb[vardepsexclude] = "BB_NUMBER_THREADS" |