[Haskell-cafe] strange hangs with -threaded runtime
Joey Adams
joeyadams3.14159 at gmail.com
Fri Jul 13 21:43:08 CEST 2012
On Fri, Jul 13, 2012 at 2:26 PM, Joey Hess <joey at kitenet.net> wrote:
> Are there any common gotchas with converting to the threaded runtime
> that might provide a hint to what's wrong? My code does not currently
> use Control.Concurrent or threads, although it does use some libraries
> like MissingH that use forkIO or forkOS.
Off the top of my head, I'm not aware of any (non-Windows-related)
gotchas with using -threaded. However, some functions in MissingH
(e.g. in System.Cmd.Utils) call forkProcess. To quote the
documentation of forkProcess [1]:
---
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.
---
Perhaps the forked process is inheriting an interleaved computation
that tries to use resources in the parent process.
[1]: http://hackage.haskell.org/packages/archive/unix/latest/doc/html/System-Posix-Process.html#v:forkProcess
More information about the Haskell-Cafe
mailing list