[Haskell-cafe] Re: FFI and callbacks
bulatz at HotPOP.com
Thu Jul 21 03:07:15 EDT 2005
Thursday, July 21, 2005, 1:16:10 AM, you wrote:
>> However, if one of my Haskell-based callbacks creates new threads with
>> forkIO, I could be in trouble; if they make any calls into C, a new
>> bound OS thread would be created for them, and this could wind up
>> causing trouble in C. I would probably need some sort of "global
>> MVar" to synchronize access into the C world.
SM> Bingo. This is why you need to make all your calls to the C library
SM> from a single thread.
you can either:
1) made all calls from single thread
2) put all calls in "withMVar lock", where `lock` is a global MVar
JG> 1. It seems that there is no function that says "block the current
JG> thread until the thread given by ThreadId dies"
GHC concurrency stuff is very basic and low-level. there is several
libs which adds some more high-level abilities, including MissingH (see
Child.hs) and some functions in http://www-i2.informatik.rwth-aachen.de/~stolz/Haskell/CA.hs
Bulat mailto:bulatz at HotPOP.com
More information about the Haskell-Cafe