aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--System/Posix/Process.hsc9
1 files changed, 4 insertions, 5 deletions
diff --git a/System/Posix/Process.hsc b/System/Posix/Process.hsc
index cf60844..0a142d9 100644
--- a/System/Posix/Process.hsc
+++ b/System/Posix/Process.hsc
@@ -244,12 +244,11 @@ in case of an error, an exception is thrown.
'forkProcess' comes with a giant warning: since any other running
threads are not copied into the child process, it's easy to go wrong:
e.g. by accessing some shared resource that was held by another thread
-in the parent. Another example is the I\/O manager thread: since the
-I\/O manager isn't running in the child, attempting to do any
-Handle-based I\/O will deadlock.
+in the parent.
-Using 'forkProcess' in order to do 'executeFile' is likely to work.
-Anything else: you're on your own.
+GHC note: 'forkProcess' is not currently supported when using multiple
+processors (@+RTS -N@), although it is supported with @-threaded@ as
+long as only one processor is being used.
-}
forkProcess :: IO () -> IO ProcessID