On 10/23/10 7:54 AM, John Lato wrote:
On Fri, Oct 22, 2010 at 6:16 PM, Bulat Ziganshin <bulat.ziganshin@gmail.com> wrote:
Hello John,

Monday, October 18, 2010, 8:15:42 PM, you wrote:

> If anyone is listening, I would very much like for there to be a
> mechanism by which external functions can be called "unsafe"-ly, but
> without blocking all other Haskell threads.  I have code that does this:

+RTS -N2

This doesn't work, which was why the OP asked in the first place.  When a thread calls an unsafe foreign function, it blocks everything until that function returns.


Is that true?  The last time we discussed this in Haskell Cafe the conclusion I drew from the discussion was that unsafe foreign functions block the current thread but not any other thread.

Cheers,
Greg