The _get_lock_fn function implementation is unnecessarily incompatible with the multiprocessing spawn start method, as previously reported in bug 758230.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=7622da95fd97c07d7a51f14dfcfb07048db687c1 commit 7622da95fd97c07d7a51f14dfcfb07048db687c1 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2023-10-03 14:59:17 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2023-10-03 14:59:17 +0000 _get_lock_fn: support multiprocessing spawn start method (bug 915119) Ensure that _get_lock_fn arguments to multiprocessing.Process will successfully pickle, as required by the spawn start method, which is the default for macOS since Python 3.8. Since file descriptors are not inherited unless the fork start method is used, the subprocess should only try to close an inherited file descriptor for the fork start method. Bug: https://bugs.gentoo.org/915119 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/portage/locks.py | 50 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 18 deletions(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f9211a35abef13079f93a96f57f3a96083c69a7 commit 9f9211a35abef13079f93a96f57f3a96083c69a7 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-10-03 15:38:28 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-10-03 15:38:41 +0000 sys-apps/portage: add 3.0.52 Closes: https://bugs.gentoo.org/704866 Closes: https://bugs.gentoo.org/877793 Closes: https://bugs.gentoo.org/889300 Closes: https://bugs.gentoo.org/900224 Closes: https://bugs.gentoo.org/912676 Closes: https://bugs.gentoo.org/912808 Closes: https://bugs.gentoo.org/913070 Closes: https://bugs.gentoo.org/913103 Closes: https://bugs.gentoo.org/914159 Closes: https://bugs.gentoo.org/915054 Closes: https://bugs.gentoo.org/915119 Signed-off-by: Sam James <sam@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-3.0.52.ebuild | 235 +++++++++++++++++++++++++++++++++ 2 files changed, 236 insertions(+)