
The documentation is a little confusing on this issue. It sounded to me when I read the documentation that all of the *OS* threads were blocked by the FFI, when what was meant was that all of the *IO* threads assigned to the calling OS thread are what is blocked, because the docs just say that "threads" are blocked without being clear that they are only referring to a particular subset of the threads. Cheers, Greg On 8/4/10 8:31 PM, Brandon S Allbery KF8NH wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I have a vague recollection of there being a situation to do with calling foreign code that makes all Haskell threads block in the non-threaded RTS, but not in the threaded one. Depending on how big your send and receive Well, yes. This should be obvious; code invoked via the FFI can't be cooperatively multitasked by the Haskell runtime (how would you accomplish
On 8/4/10 17:16 , Andrew Coppin wrote: this? Think about it), and preemptive multitasking is only possible via OS threads.
- -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkxaMJ0ACgkQIn7hlCsL25VqHwCgl3z84LQIpr6RfA2rGOmevU2x miYAnjnpwVR+yEQiynXfk3JGQZv32YfY =uEjB -----END PGP SIGNATURE----- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe