views:

36

answers:

1

For C-based implementations of ruby 1.8 and ruby 1.9, is File#print atomic when it is given multiple arguments?

+2  A: 

Examining it empirically, the answer's no.

10.times do
  Thread.new do
    print "foo", "\n"
  end
end

gives (in ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0])

foofoofoo
foo
foo
foo
foo
foo
foo
foo

Don't know where you can look up what is atomic and what isn't atomic, though.

Andrew Grimm