Skip to content

Win32: eliminate the sys_intern fdpid aka w32_fdpid #23262

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: blead
Choose a base branch
from

Conversation

tonycoz
Copy link
Contributor

@tonycoz tonycoz commented May 6, 2025

This duplicated the PL_fdpid already used by every other platform but didn't handle the transfer done when STD handles were reopened as pipes.

Along with re-working win32_pclose() to behave much closer to Perl_my_pclose() from util.c and enabling the PID transfer done for STD handles on Win32, this fixes #4106


  • This set of changes requires a perldelta entry, and it is included.

tonycoz added 2 commits May 6, 2025 15:32
This prevented pretty much all of perlio.h from defining anything, and
we need that for the the actual fix.
This includes an old test I wrote for pclose blocking on non-Win32
(which up until this fix used distinct pclose code from Win32) and
test code for Perl#4106, which is the main issue being fixed by this patch
series.
@tonycoz tonycoz added the defer-next-dev This PR should not be merged yet, but await the next development cycle label May 6, 2025
tonycoz added 3 commits May 7, 2025 08:48
This duplicated the PL_fdpid already used by every other platform
but didn't handle the transfer done when STD handles were reopened
as pipes.

Along with re-working win32_pclose() to behave much closer to
Perl_my_pclose() from util.c and enabling the PID transfer done for
STD handles on Win32, this fixes Perl#4106
@tonycoz tonycoz force-pushed the 4106-win32-pclose-more-good branch from 982af8e to 183726a Compare May 6, 2025 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
defer-next-dev This PR should not be merged yet, but await the next development cycle
Projects
None yet
Development

Successfully merging this pull request may close these issues.

close(STDOUT) does not wait on MS-Windows
2 participants