You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GHC 8.12 will have a new asynchronous I/O manager for Windows. This new I/O manager will require changes to any library that uses GHC internal I/O modules such as GHC.IO.FD.
When the new I/O manager is enabled any use of FD will lead to an error. So there are two options, avoid the use of GHC internals and stick to end user interfaces (i.e. only use Handle).
Or detect the new I/O manager support with the macro __IO_MANAGER_WINIO__ and provide a codepath for versions of functions that use HANDLE instead of FD.
GHC provides some helper utilities to switch between the two. Namely the helper operator <!>.
Cabal seems to only use FD in Cabal/Distribution/Compat/CreatePipe.hs, so is this module still needed?
If it is, anonymous pipes can't be used and instead named pipes opened with OVERLAPPED support with proper security descriptors should be used.
System information
Windows
GHC 8.12
Additional context
Also the minimum supported versions of binaries compiled with GHC 8.12 will be moved up to Vista SP1. For while the user will be able to switch between the two managers at startup.
The text was updated successfully, but these errors were encountered:
I merged #6865, so the #6848 would resolve this issue. Am I right, @Mistuke ?
yes, I have an update for it but haven't posted it yet as I'm trying to get clean bootstrap + testsuite run so I know all libraries are good. Should be done this week.
Describe the bug
GHC 8.12 will have a new asynchronous I/O manager for Windows. This new I/O manager will require changes to any library that uses GHC internal I/O modules such as
GHC.IO.FD
.When the new I/O manager is enabled any use of
FD
will lead to an error. So there are two options, avoid the use of GHC internals and stick to end user interfaces (i.e. only useHandle
).Or detect the new I/O manager support with the macro
__IO_MANAGER_WINIO__
and provide a codepath for versions of functions that useHANDLE
instead ofFD
.GHC provides some helper utilities to switch between the two. Namely the helper operator
<!>
.Cabal seems to only use
FD
inCabal/Distribution/Compat/CreatePipe.hs
, so is this module still needed?If it is, anonymous pipes can't be used and instead named pipes opened with
OVERLAPPED
support with proper security descriptors should be used.System information
Additional context
Also the minimum supported versions of binaries compiled with GHC 8.12 will be moved up to Vista SP1. For while the user will be able to switch between the two managers at startup.
The text was updated successfully, but these errors were encountered: