
27 Feb
2013
27 Feb
'13
4:34 p.m.
On 2/27/13, Joey Adams
On Sun, Feb 24, 2013 at 3:40 PM, Gabor Greif
wrote: Hi all,
from what I gathered so far no emission of write barriers is needed when - running on a uniprocessor (-threaded or not) - running on a multiprocessor sans having linked with -threaded.
On Windows, the non-threaded RTS does I/O with forked threads; see rts/win32/IOManager.c and the async* functions in GHC.Conc.Windows. I think this means that for Windows, we need those write barriers even for non-threaded.
And when those async threads return control to the RTS don't they implicitly establish a write barrier? After all they are very syscall-like, or I am mistaken? Surely someone at Microsoft can find out :-) Cheers, Gabor
-Joey