| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Driver.Pipeline.LogQueue
Synopsis
- data LogQueue = LogQueue {
- logQueueId :: !Int
 - logQueueMessages :: !(IORef [Maybe (MessageClass, SrcSpan, SDoc, LogFlags)])
 - logQueueSemaphore :: !(MVar ())
 
 - newLogQueue :: Int -> IO LogQueue
 - finishLogQueue :: LogQueue -> IO ()
 - writeLogQueue :: LogQueue -> (MessageClass, SrcSpan, SDoc, LogFlags) -> IO ()
 - parLogAction :: LogQueue -> LogAction
 - data LogQueueQueue = LogQueueQueue Int (IntMap LogQueue)
 - initLogQueue :: TVar LogQueueQueue -> LogQueue -> STM ()
 - allLogQueues :: LogQueueQueue -> [LogQueue]
 - newLogQueueQueue :: LogQueueQueue
 - logThread :: Logger -> TVar Bool -> TVar LogQueueQueue -> IO (IO ())
 
Documentation
Each module is given a unique LogQueue to redirect compilation messages
 to. A Nothing value contains the result of compilation, and denotes the
 end of the message queue.
Constructors
| LogQueue | |
Fields 
  | |
finishLogQueue :: LogQueue -> IO () Source #
writeLogQueue :: LogQueue -> (MessageClass, SrcSpan, SDoc, LogFlags) -> IO () Source #
parLogAction :: LogQueue -> LogAction Source #
data LogQueueQueue Source #
Constructors
| LogQueueQueue Int (IntMap LogQueue) | 
initLogQueue :: TVar LogQueueQueue -> LogQueue -> STM () Source #
allLogQueues :: LogQueueQueue -> [LogQueue] Source #
Return all items in the queue in ascending order