
From: Claude Heiland-Allen
On 23/10/10 23:17, Donn Cave wrote:
Quoth Claude Heiland-Allen
, ... The conclusion I drew was that "unsafe" foreign functions block the current "capability" (OS thread) and any "threads" (Haskell forkIO etc) currently scheduled on that capability, but other capabilities and threads continue executing as normal.
... until GC time when all capabilities must be ready. (?)
That's quite interesting. Thanks very much to everyone who contributed to this. I think my understanding of the interactions between threads and foreign functions has deepened considerably. I may be able to accomplish what I want after all. I am somewhat surprised that all capabilities must be ready for GC; I thought with the parallel GC that wouldn't be necessary. But I don't know much about GC implementations so I try not to let their behavior surprise me too much. John