diff options
author | 2010-04-30 08:28:41 +0000 | |
---|---|---|
committer | 2010-04-30 08:28:41 +0000 | |
commit | 9f0c96ed1eb9eda5e74f13acf1ddc3ab523b0bd4 (patch) | |
tree | e72af41ed989699ba92e28f3383248bc095049a6 /System/Posix/Process.hsc | |
parent | 714fa064dcc57b7c7e3cdeb1f62c9f36cfea6e51 (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.hsc | 9 |
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 |