createPipe -package:unix

Create a pipe for interprocess communication and return a (readEnd, writeEnd) Handle pair.
  • WinIO Support
When this function is used with WinIO enabled it's the caller's responsibility to register the handles with the I/O manager. If this is not done the operation will deadlock. Association can be done as follows:
#if defined(IO_MANAGER_WINIO)
import GHC.IO.SubSystem ((<!>))
import GHC.IO.Handle.Windows (handleToHANDLE)
import GHC.Event.Windows (associateHandle')
#endif

...

#if defined(IO_MANAGER_WINIO)
return () <!> do
associateHandle' =<< handleToHANDLE readEnd
#endif
Only associate handles that you are in charge of read/writing to. Do not associate handles passed to another process. It's the process's responsibility to register the handle if it supports async access.
Create a pipe for interprocess communication and return a (readEnd, writeEnd) Handle pair.
  • WinIO Support
When this function is used with WinIO enabled it's the caller's responsibility to register the handles with the I/O manager. If this is not done the operation will deadlock. Association can be done as follows:
#if defined(IO_MANAGER_WINIO)
import GHC.IO.SubSystem ((!))
import GHC.IO.Handle.Windows (handleToHANDLE)
import GHC.Event.Windows (associateHandle')
#endif

...

#if defined (IO_MANAGER_WINIO)
return () ! (do
associateHandle' =handleToHANDLE <handle)
#endif
Only associate handles that you are in charge of read/writing to. Do not associate handles passed to another process. It's the process's reponsibility to register the handle if it supports async access.
Lifted createPipe.
Create a new pipe between this process and the child, and return a Handle to communicate with the child.
Create a new pipe between this process and the child, and return a Handle to communicate with the child.
Create a new pipe. The returned Handle will use the default encoding and newline translation mode (just like Handles created by openFile).
Deprecated: Use System.Process from package process directly
Create a new pipe for the stream. You get a new Handle.
Create a pipe for interprocess communication and return a (readEnd, writeEnd) FD pair.
Lifted createPipeFd.
fromJust for dealing with 'Maybe Handle' values as obtained via CreatePipe. Creating a pipe using CreatePipe guarantees a Just value for the corresponding handle.