This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mjpieters
Recipients Gabriel Mesquita Cangussu, gvanrossum, mjpieters, paul.moore, steve.dower, terry.reedy, tim.golden, vstinner, yselivanov, zach.ware
Date 2018-09-11.11:24:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1536665048.64.0.0269046726804.issue26832@psf.upfronthosting.co.za>
In-reply-to
Content
I'm trying to figure out why Windows won't let us do this. I think the reason is that sys.std(in|out) filehandles are not opened as pipes, and do not have the required OVERLAPPED flag set (see the CreateIoCompletionPort documentation at https://docs.microsoft.com/en-us/windows/desktop/fileio/createiocompletionport; it's that function that is used to handle pipes (via IocpProactor.recv -> IocpProactor._register_with_iocp -> overlapped.CreateIoCompletionPort).

The solution then would be to create a pipe for a stdio filehandle with the flag set.

And that's where my Windows-fu ends, and where I lack the VM and motivation to go try that out.
History
Date User Action Args
2018-09-11 11:24:08mjpieterssetrecipients: + mjpieters, gvanrossum, terry.reedy, paul.moore, vstinner, tim.golden, zach.ware, yselivanov, steve.dower, Gabriel Mesquita Cangussu
2018-09-11 11:24:08mjpieterssetmessageid: <1536665048.64.0.0269046726804.issue26832@psf.upfronthosting.co.za>
2018-09-11 11:24:08mjpieterslinkissue26832 messages
2018-09-11 11:24:08mjpieterscreate