{-# LANGUAGE Unsafe #-}
{-# LANGUAGE CPP, NoImplicitPrelude #-}
{-# OPTIONS_GHC -Wno-missing-signatures #-}
{-# OPTIONS_HADDOCK not-home #-}
module GHC.Conc
        ( ThreadId(..)
        
        , forkIO
        , forkIOWithUnmask
        , forkOn
        , forkOnWithUnmask
        , numCapabilities
        , getNumCapabilities
        , setNumCapabilities
        , getNumProcessors
        , numSparks
        , childHandler
        , myThreadId
        , killThread
        , throwTo
        , par
        , pseq
        , runSparks
        , yield
        , labelThread
        , mkWeakThreadId
        , ThreadStatus(..), BlockReason(..)
        , threadStatus
        , threadCapability
        , newStablePtrPrimMVar, PrimMVar
        
        , threadDelay
        , registerDelay
        , threadWaitRead
        , threadWaitWrite
        , threadWaitReadSTM
        , threadWaitWriteSTM
        , closeFdWith
        
        , setAllocationCounter
        , getAllocationCounter
        , enableAllocationLimit
        , disableAllocationLimit
        
        , STM(..)
        , atomically
        , retry
        , orElse
        , throwSTM
        , catchSTM
        , TVar(..)
        , newTVar
        , newTVarIO
        , readTVar
        , readTVarIO
        , writeTVar
        , unsafeIOToSTM
        
        , withMVar
#if defined(mingw32_HOST_OS)
        , asyncRead
        , asyncWrite
        , asyncDoProc
        , asyncReadBA
        , asyncWriteBA
#endif
#if !defined(mingw32_HOST_OS)
        , Signal, HandlerFun, setHandler, runHandlers
#endif
        , ensureIOManagerIsRunning
        , ioManagerCapabilitiesChanged
#if defined(mingw32_HOST_OS)
        , ConsoleEvent(..)
        , win32ConsoleHandler
        , toWin32ConsoleEvent
#endif
        , setUncaughtExceptionHandler
        , getUncaughtExceptionHandler
        , reportError, reportStackOverflow, reportHeapOverflow
        ) where
import GHC.Conc.IO
import GHC.Conc.Sync
#if !defined(mingw32_HOST_OS)
import GHC.Conc.Signal
#endif