commit: 0b78b4a90657ef582a68258f27eaf521dfb42038 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Tue Mar 3 05:39:44 2020 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Tue Mar 3 05:46:36 2020 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=0b78b4a9
EbuildMetadataPhase: make _unregister idempotent (bug 711362) Make the _unregister method check if self._files is None, as necessary for idempotency. This will prevent the AttributeError reported in bug 711362, which was triggered by recent changes in callback scheduling order. Closes: https://bugs.gentoo.org/711362 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/_emerge/EbuildMetadataPhase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/_emerge/EbuildMetadataPhase.py b/lib/_emerge/EbuildMetadataPhase.py index 4940d40b6..efe71892c 100644 --- a/lib/_emerge/EbuildMetadataPhase.py +++ b/lib/_emerge/EbuildMetadataPhase.py @@ -144,7 +144,8 @@ class EbuildMetadataPhase(SubProcess): break def _unregister(self): - self.scheduler.remove_reader(self._files.ebuild) + if self._files is not None: + self.scheduler.remove_reader(self._files.ebuild) SubProcess._unregister(self) def _async_waitpid_cb(self, *args, **kwargs):
