HORIZON HASKELLDocslts/ghc-10.0.xaa25b892026-10-10Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · aa25b89 · 2026-10-10

Moduleunix-compat-0.7.4.1Haskell2010

System.PosixCompat.Unistd

This module makes the operations exported by System.Posix.Unistd available on all platforms. On POSIX systems it re-exports operations from System.Posix.Unistd, on other platforms it emulates the operations as far as possible.

  • 1 type
  • 4 values

System environment

2 declarations

Sleeping

3 declarations
valuesleep :: Int -> IO Int
#

This function has several shortcomings (see documentation). Please consider using Control.Concurrent.threadDelay instead.

Sleep for the specified duration (in seconds). Returns the time remaining (if the sleep was interrupted by a signal, for example).

GHC Note: threadDelay is a better choice. Since GHC uses signals for its internal clock, a call to sleep will usually be interrupted immediately. That makes sleep unusable in a program compiled with GHC, unless the RTS timer is disabled (with +RTS -V0). Furthermore, without the -threaded option, sleep will block all other user threads. Even with the -threaded option, sleep requires a full OS thread to itself. threadDelay has none of these shortcomings.

valueusleep :: Int -> IO ()
#

Sleep for the specified duration (in microseconds).

GHC Note: threadDelay is a better choice. Without the -threaded option, usleep will block all other user threads. Even with the -threaded option, usleep requires a full OS thread to itself. threadDelay has neither of these shortcomings.

valuenanosleep :: Integer -> IO ()
#

Sleep for the specified duration (in nanoseconds)

GHC Note: the comment for usleep also applies here.