
Hello Simon, Wednesday, December 14, 2005, 7:39:43 PM, you wrote: SM> Do other Haskell threads get blocked during an FFI call? SM> | safe unsafe SM> --------------+---------------- SM> -threaded | NO YES SM> no -threaded | YES YES there is also `threadsafe` specifier. i don't understand from the docs what it exactly means? ghc commentary says: To signal that you want an external call to be serviced by a separate OS thread, you have to add the attribute threadsafe to a foreign import declaration, i.e., foreign import "bigComp" threadsafe largeComputation :: Int -> IO () The distinction between 'safe' and thread-safe C calls is made so that we may call external functions that aren't re-entrant but may cause a GC to occur. The threadsafe attribute subsumes safe. -- Best regards, Bulat mailto:bulatz@HotPOP.com