summaryrefslogtreecommitdiff
path: root/src/Propellor/Message.hs
diff options
context:
space:
mode:
authorJoey Hess2015-10-28 00:12:38 -0400
committerJoey Hess2015-10-28 00:24:25 -0400
commit357ffb9fd34ebd36e07dece8e45450dbd2f0e8ec (patch)
treeab6d1765c35d4563d66ab697b984ceeb842aed4e /src/Propellor/Message.hs
parent894e2f7980052f1c331ba7780100ae0ad19856cb (diff)
concurrency docs
Diffstat (limited to 'src/Propellor/Message.hs')
-rw-r--r--src/Propellor/Message.hs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Propellor/Message.hs b/src/Propellor/Message.hs
index 4be8263e..3792129b 100644
--- a/src/Propellor/Message.hs
+++ b/src/Propellor/Message.hs
@@ -238,22 +238,22 @@ messagesDone = lockOutput $ do
setTitle "propellor: done"
hFlush stdout
--- | Wrapper around `System.Process.createProcess` that prevents processes
--- that are running concurrently from writing to the stdout/stderr at the
--- same time.
+-- | Wrapper around `System.Process.createProcess` that prevents
+-- multiple processes that are running concurrently from writing
+-- to stdout/stderr at the same time.
--
--- The first process run by createProcess is allowed to write to
+-- The first process is allowed to write to
-- stdout and stderr in the usual way.
--
--- However, if a second createProcess runs concurrently with the
+-- However, if another process runs concurrently with the
-- first, any stdout or stderr that would have been displayed by it is
-- instead buffered. The buffered output will be displayed the next time it
-- is safe to do so (ie, after the first process exits).
--
--- `Propellor.Property.Cmd` has some other useful actions for running
--- commands, which are based on this.
---
-- Also does debug logging of all commands run.
+--
+-- Unless you manually import System.Process, every part of propellor
+-- that runs a process uses this.
createProcessConcurrent :: P.CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, P.ProcessHandle)
createProcessConcurrent p
| hasoutput (P.std_out p) || hasoutput (P.std_err p) =