
On Wed, Dec 14, 2005 at 04:39:43PM -0000, Simon Marlow wrote:
Do other Haskell threads get blocked during an FFI call?
| safe unsafe --------------+---------------- -threaded | NO YES no -threaded | YES YES
this is part of the reason I'd like to see a separate 'blockable' specifier allowed on foreign imports. so that one can write portable thread-safe libraries. right now, if one want's to call something like gethostbyname(3), they must call it with 'safe' so every implementation has to pay the price of a safe call even though it is only there so ghc won't block. (or #ifdefs, which are anoying) if blockable were separate then it can be declared 'blockable unsafe' and ghc will interpret that as 'safe' while non-threaded implementations will interpret it as 'unsafe' and everyone is happy. John -- John Meacham - ⑆repetae.net⑆john⑈