Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 915128 - sys-apps/portage: make SpawnProcess fd_pipes optional
Summary: sys-apps/portage: make SpawnProcess fd_pipes optional
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on: 915120
Blocks: 915123
  Show dependency tree
 
Reported: 2023-10-03 18:14 UTC by Zac Medico
Modified: 2023-10-20 00:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zac Medico gentoo-dev 2023-10-03 18:14:59 UTC
Currently SpawnProcess._start requirea fd_pipes in order to monitor for subprocess exit via closing of the either the subprocess stdout/stderr or else self._dummy_pipe_fd when stdout/stderr are not piped. The fd_pipes should by optional (maybe via parameter to SpawnProcess._start), so that ForkProcess can still use it when using the multiprocessing spawn start method which does not support fd_pipes (bug 915123).
Comment 1 Larry the Git Cow gentoo-dev 2023-10-03 19:44:02 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=919567592eb2292def12877420f280e082cc881a

commit 919567592eb2292def12877420f280e082cc881a
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2023-10-03 19:07:37 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2023-10-03 19:43:08 +0000

    SpawnProcess: Make fd_pipes optional
    
    Since fd_pipes is incompatible with the multiprocessing spawn start
    method, allow empty fd_pipes so that ForkProcess can inherit
    SpawnProcess and still be compatible with multiprocessing spawn.
    
    Bug: https://bugs.gentoo.org/915128
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/_emerge/SpawnProcess.py                 | 111 +++++++++++++++-------------
 lib/portage/tests/ebuild/test_ipc_daemon.py |   9 ++-
 2 files changed, 68 insertions(+), 52 deletions(-)
Comment 2 Larry the Git Cow gentoo-dev 2023-10-20 00:51:30 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3500483f75789c36e379c1b6546a09df7c11e2b1

commit 3500483f75789c36e379c1b6546a09df7c11e2b1
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-10-20 00:49:33 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-10-20 00:51:00 +0000

    sys-apps/portage: add 3.0.53
    
    Closes: https://bugs.gentoo.org/915120
    Closes: https://bugs.gentoo.org/821529
    Closes: https://bugs.gentoo.org/914441
    Closes: https://bugs.gentoo.org/914722
    Closes: https://bugs.gentoo.org/914873
    Closes: https://bugs.gentoo.org/915099
    Closes: https://bugs.gentoo.org/915123
    Closes: https://bugs.gentoo.org/915128
    Closes: https://bugs.gentoo.org/915136
    Closes: https://bugs.gentoo.org/915330
    Closes: https://bugs.gentoo.org/915494
    Closes: https://bugs.gentoo.org/915834
    Closes: https://bugs.gentoo.org/915903
    Closes: https://bugs.gentoo.org/900224
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-apps/portage/Manifest              |   1 +
 sys-apps/portage/portage-3.0.53.ebuild | 238 +++++++++++++++++++++++++++++++++
 2 files changed, 239 insertions(+)