diff options
author | Zac Medico <zmedico@gentoo.org> | 2024-02-13 00:19:59 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2024-02-21 07:27:31 -0800 |
commit | 789493d521eb09f4aca2a8552b5262e2c0f5bc51 (patch) | |
tree | 8f66dfd6f8002d036f126fd0325e503310a7a4ee | |
parent | async_aux_get: Use EbuildMetadataPhase deallocate_config future (diff) | |
download | portage-789493d521eb09f4aca2a8552b5262e2c0f5bc51.tar.gz portage-789493d521eb09f4aca2a8552b5262e2c0f5bc51.tar.bz2 portage-789493d521eb09f4aca2a8552b5262e2c0f5bc51.zip |
EbuildMetadataPhase: Migrate to _async_start
Bug: https://bugs.gentoo.org/923841
Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r-- | lib/_emerge/EbuildMetadataPhase.py | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/_emerge/EbuildMetadataPhase.py b/lib/_emerge/EbuildMetadataPhase.py index 249086f8a..fc64d84c9 100644 --- a/lib/_emerge/EbuildMetadataPhase.py +++ b/lib/_emerge/EbuildMetadataPhase.py @@ -46,6 +46,12 @@ class EbuildMetadataPhase(SubProcess): _files_dict = slot_dict_class(_file_names, prefix="") def _start(self): + asyncio.ensure_future( + self._async_start(), loop=self.scheduler + ).add_done_callback(self._async_start_done) + self._registered = True + + async def _async_start(self): ebuild_path = self.ebuild_hash.location with open( @@ -116,7 +122,6 @@ class EbuildMetadataPhase(SubProcess): self._raw_metadata = [] files.ebuild = master_fd self.scheduler.add_reader(files.ebuild, self._output_handler) - self._registered = True retval = portage.doebuild( ebuild_path, @@ -150,16 +155,6 @@ class EbuildMetadataPhase(SubProcess): self._proc = retval - asyncio.ensure_future( - self._async_start(), loop=self.scheduler - ).add_done_callback(self._async_start_done) - - async def _async_start(self): - # Call async check_locale here for bug 923841, but code - # also needs to migrate from _start to here, including - # the self.deallocate_config set_result call. - pass - def _async_start_done(self, future): future.cancelled() or future.result() if not self._was_cancelled() and future.cancelled(): |