diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-09 07:34:39 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-09 07:34:39 +0000 |
commit | 2e02f2dfd2dab936e7cd9a68d46bd910c5d184e5 (patch) | |
tree | e01a27c2c8dd86a6e66eede5c517f748c2749fa2 | |
parent | 5c87e39165b7c736224e134d0ed216914c81ccb1 (diff) | |
download | ruby-2e02f2dfd2dab936e7cd9a68d46bd910c5d184e5.tar.gz |
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
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/stringio/stringio.c | 3 | ||||
-rw-r--r-- | test/stringio/test_stringio.rb | 4 |
3 files changed, 7 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Mon Mar 9 16:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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 <ko1@atdot.net> * 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 |