In article <Pine.LNX.4.58.0602200406260.25048 / web.artengine.ca>,
  Mathieu Bouchard <matju / artengine.ca> writes:

> IO#reopen doesn't flush anymore before reopening. Is that normal??
> I don't know since when this is happening, but a year ago it wasn't like 
> that.

Hm. ruby-1.9 doesn't flush if an argument is a filename.

% ruby -v -e '
f = STDOUT.dup
f.print "a"
f.reopen("/dev/null")
'
ruby 1.9.0 (2006-02-17) [i686-linux]
% 

I think it is a bug.

However ruby-1.8 flushes.

% ruby-1.8 -v -e '
f = STDOUT.dup
f.print "a"
f.reopen("/dev/null")
'
ruby 1.8.4 (2006-02-20) [i686-linux]
a% 

Do you use ruby-1.9?
-- 
Tanaka Akira