It's a matter of perspective. Either the function you're FFI'ing to is
safe/unsafe or your use of it is safe/unsafe. The FFI spec seems to be using
the former, so if you think that the function you're calling is unsafe
(i.e., can call back into Haskell) then it blocks the world.

But I do think it's unintuitive and a less ambiguous naming scheme would be
nicer.
Dan

On Tue, Aug 3, 2010 at 11:54 PM, Gregory Crosswhite <
gcr...@phys.washington.edu> wrote:

>  Hey everyone,
>
> Could someone explain to me the logic behind having "unsafe" calls block
> other threads from executing?  It seems to me that if anything it would
> make more sense for "safe" calls to block other threads since the call
> can call back into the Haskell runtime, as opposed to "unsafe" calls
> which (by assertion) will never call back into Haskell and therefore
> should be safer to run in parallel with other threads.  What am I
> missing here?
>
> Cheers,
> Greg
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to