On 6/22/2011 1:49 PM, Johannes Pfau wrote:
Walter Bright wrote:
On 6/22/2011 12:01 PM, Andrej Mitrovic wrote:
I just ran into some odd stdout corruption issue while doing parallel
builds, take a look:

stdout is shared, but the atomic units of output are where the calls
to it are, and are interleaved otherwise. For example, a single call
to printf locks stdout for the duration of the printf.

C printf is atomic? Didn't know that.
What happens when multiple processes are spawned with system()? Is
their IO output still synchronized?

I'm sure that Windows does discrete write's atomically, but it's up to the individual apps to bundle things together into discrete writes.

Reply via email to