From: Dave Thomas Date: 2001-04-27T07:15:06+09:00 Subject: [ruby-talk:14275] Possible minor bug in io.c I _think_ there may be a bug in set_outfile: static void set_outfile(val, var, orig, stdf) VALUE val; VALUE *var; VALUE orig; FILE *stdf; { OpenFile *fptr; FILE *f; if (val == *var) return; if (TYPE(*var) == T_FILE) { rb_io_flush(*var); // <<<<<<<<<< } I think this should check to see if the file is closed before doing the flush. begin $stderr.close $stderr = nil rescue puts "Exception" puts $! puts $!.backtrace end #=> Exception closed stream t.rb:3 However, I may well be wrong... :) Dave