
C call blocks the whole process, and Concurret module become meaningless. Isn't there any library or wrapper that can avoid ccall from blocking entire process ? -- Ahn Ki-yung

Ahn Ki-yung wrote:
C call blocks the whole process, and Concurret module become meaningless. Isn't there any library or wrapper that can avoid ccall from blocking entire process ?
There is an extension to the GHC runtime system in the CVS version which addresses this problem, but that means you have to compile a prerelease version of GHC yourself (and pass a special ./configure flag, --enable-threaded-rts). The only other way I could think of would be to write a C language module that uses pthreads to achieve the purpose (has to be mostly in C because you mustn't enter the Haskell runtime system from a second thread). Cheers, Wolfgang
participants (2)
-
Ahn Ki-yung
-
Wolfgang Thaller