| Portability | non-portable (requires POSIX) | 
|---|---|
| Stability | provisional | 
| Maintainer | libraries@haskell.org | 
| Safe Haskell | Trustworthy | 
System.Posix.Unistd
Contents
Description
POSIX miscellaneous stuff, mostly from unistd.h
- data SystemID = SystemID {}
- getSystemID :: IO SystemID
- data  SysVar - = ArgumentLimit
- | ChildLimit
- | ClockTick
- | GroupLimit
- | OpenFileLimit
- | PosixVersion
- | HasSavedIDs
- | HasJobControl
 
- getSysVar :: SysVar -> IO Integer
- sleep :: Int -> IO Int
- usleep :: Int -> IO ()
- nanosleep :: Integer -> IO ()
System environment
data SystemID
data SysVar
Sleeping
Warning: 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.
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.