diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | io.c | 4 | ||||
| -rw-r--r-- | version.h | 2 |
3 files changed, 7 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Tue Jun 16 22:47:37 2009 Yukihiro Matsumoto <matz@ruby-lang.org> + + * io.c (fptr_finalize): skip close(2) for fd 0,1,2. + Wed Jun 17 00:31:30 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * test/ruby/test_argf.rb (TestArgf#test_skip): updated test @@ -3133,7 +3133,7 @@ fptr_finalize(rb_io_t *fptr, int noraise) err = noraise ? Qtrue : INT2NUM(errno); } if (IS_PREP_STDIO(fptr) || fptr->fd <= 2) { - goto check_err; + goto skip_fd_close; } if (fptr->stdio_file) { /* fptr->stdio_file is deallocated anyway @@ -3148,11 +3148,11 @@ fptr_finalize(rb_io_t *fptr, int noraise) if (close(fptr->fd) < 0 && NIL_P(err)) err = noraise ? Qtrue : INT2NUM(errno); } + skip_fd_close: fptr->fd = -1; fptr->stdio_file = 0; fptr->mode &= ~(FMODE_READABLE|FMODE_WRITABLE); - check_err: if (!NIL_P(err) && !noraise) { switch(TYPE(err)) { case T_FIXNUM: @@ -1,6 +1,6 @@ #define RUBY_VERSION "1.9.1" #define RUBY_RELEASE_DATE "2009-05-22" -#define RUBY_PATCHLEVEL 181 +#define RUBY_PATCHLEVEL 182 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 |
