aboutsummaryrefslogtreecommitdiffhomepage
path: root/System/Posix/Process.hsc
diff options
context:
space:
mode:
authorGravatar Simon Marlow <marlowsd@gmail.com>2010-04-30 08:28:41 +0000
committerGravatar Simon Marlow <marlowsd@gmail.com>2010-04-30 08:28:41 +0000
commit9f0c96ed1eb9eda5e74f13acf1ddc3ab523b0bd4 (patch)
treee72af41ed989699ba92e28f3383248bc095049a6 /System/Posix/Process.hsc
parent714fa064dcc57b7c7e3cdeb1f62c9f36cfea6e51 (diff)
mention that forkProcess is not supported with +RTS -Nn where n > 1
Diffstat (limited to 'System/Posix/Process.hsc')
-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