From 2e02f2dfd2dab936e7cd9a68d46bd910c5d184e5 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 9 Mar 2015 07:34:39 +0000 Subject: stringio.c: don't raise after close * ext/stringio/stringio.c (strio_close): don't raise on dobule close for consistent to IO#close. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/stringio/stringio.c | 3 --- test/stringio/test_stringio.rb | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index adb42996cf..1968060621 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Mar 9 16:34:36 2015 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_close): don't raise on dobule + close for consistent to IO#close. + Mon Mar 09 06:44:48 2015 Koichi Sasada * vm_insnhelper.h: define struct SVAR for SVAR. diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index cca408fcb5..78988e194e 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -346,9 +346,6 @@ static VALUE strio_close(VALUE self) { StringIO(self); - if (CLOSED(self)) { - rb_raise(rb_eIOError, "closed stream"); - } RBASIC(self)->flags &= ~STRIO_READWRITE; return Qnil; } diff --git a/test/stringio/test_stringio.rb b/test/stringio/test_stringio.rb index 07d89d16e1..6ba1e25791 100644 --- a/test/stringio/test_stringio.rb +++ b/test/stringio/test_stringio.rb @@ -193,12 +193,12 @@ class TestStringIO < Test::Unit::TestCase def test_close f = StringIO.new("") f.close - assert_raise(IOError) { f.close } + assert_nil(f.close) f = StringIO.new("") f.close_read f.close_write - assert_raise(IOError) { f.close } + assert_nil(f.close) ensure f.close unless f.closed? end -- cgit v1.2.3