summaryrefslogtreecommitdiff
path: root/src/System/Console/Concurrent.hs
diff options
context:
space:
mode:
authorJoey Hess2015-11-08 14:50:21 -0400
committerJoey Hess2015-11-08 14:50:21 -0400
commitd7e140aeae8a8ea47976ca1f3e29c4d0b00eacee (patch)
tree31aa4bbf775879dddb307f9d1c99ac84287ca909 /src/System/Console/Concurrent.hs
parentf85b7d1bdc9019fd63c5037094f514a7c7ace8d2 (diff)
parentd50aa85052b1f35021072ea95bc51b5c46c797b0 (diff)
Merge branch 'joeyconfig'
Diffstat (limited to 'src/System/Console/Concurrent.hs')
-rw-r--r--src/System/Console/Concurrent.hs44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/System/Console/Concurrent.hs b/src/System/Console/Concurrent.hs
new file mode 100644
index 00000000..12447637
--- /dev/null
+++ b/src/System/Console/Concurrent.hs
@@ -0,0 +1,44 @@
+-- |
+-- Copyright: 2015 Joey Hess <id@joeyh.name>
+-- License: BSD-2-clause
+--
+-- Concurrent output handling.
+--
+-- > import Control.Concurrent.Async
+-- > import System.Console.Concurrent
+-- >
+-- > main = withConcurrentOutput $
+-- > outputConcurrent "washed the car\n"
+-- > `concurrently`
+-- > outputConcurrent "walked the dog\n"
+-- > `concurrently`
+-- > createProcessConcurrent (proc "ls" [])
+
+{-# LANGUAGE CPP #-}
+
+module System.Console.Concurrent (
+ -- * Concurrent output
+ withConcurrentOutput,
+ Outputable(..),
+ outputConcurrent,
+ errorConcurrent,
+ ConcurrentProcessHandle,
+#ifndef mingw32_HOST_OS
+ createProcessConcurrent,
+#endif
+ waitForProcessConcurrent,
+ createProcessForeground,
+ flushConcurrentOutput,
+ lockOutput,
+ -- * Low level access to the output buffer
+ OutputBuffer,
+ StdHandle(..),
+ bufferOutputSTM,
+ outputBufferWaiterSTM,
+ waitAnyBuffer,
+ waitCompleteLines,
+ emitOutputBuffer,
+) where
+
+import System.Console.Concurrent.Internal
+