Li, Peng wrote:
[1] Extending the Haskell Foreign Function Interface with Concurrency
[2] Haskell on a Shared-Memory Multiprocessor
I read the above two papers [1,2] and I have been trying to write an
application that uses both FFI and SMP. The first paper [1] shows how
FFI is implemented on uniprocessor concurrent Haskell; the second
paper [2] shows how SMP Concurrent Haskell is implemented. However, I
found little documentation on using FFI with the latest SMP extension.
In addition to [1], what has been changed and what should a
programmer know if he wants to use FFI in a multithreaded program
running on SMP machines?
Nothing has changed relative to [1], the semantics is exactly the same.
(and in case this wasn't clear, GHC's -threaded option implements the
semantics in [1]).
You should know that your "safe" FFI calls may be executed concurrently
by separate OS threads, so calls you make in this way should be to
thread-safe libraries.
I'm looking into the bug you submitted, #713. It appears to be a bug in
the runtime somewhere, but it's a difficult one to track down.
Hopefully I'll have a fix soon.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users