aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-09 05:09:44 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-09 05:09:44 +0000
commitd58eb9e532bc07b3cc53f2c9a6c7c338a11c8f5e (patch)
tree119bd9edf800ed892ed7bf792af27646dbb4df82
parent1a71ad03faa25334e1a5e1509161c95c98985681 (diff)
downloadruby-d58eb9e532bc07b3cc53f2c9a6c7c338a11c8f5e.tar.gz
thread.c: refine stream closed message
* thread.c (Init_Thread): [EXPERIMENTAL] refine the "stream closed" special exception message, by explicating that it is caused by threading. [ruby-core:80583] [Bug #13405] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--NEWS4
-rw-r--r--test/lib/test/unit.rb2
-rw-r--r--test/lib/test/unit/parallel.rb2
-rw-r--r--thread.c3
4 files changed, 8 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 93145942aa..ad76ac77cf 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,10 @@ with all sufficient information, see the ChangeLog file or Redmine
* IO#pread [Feature #4532]
* IO#pwrite [Feature #4532]
+* IOError
+
+ * exception message "stream closed" is changed [Bug #13405]
+
* Regexp
* Update Onigmo 6.1.1.
* Support absent operator https://github.com/k-takata/Onigmo/issues/82
diff --git a/test/lib/test/unit.rb b/test/lib/test/unit.rb
index 24a689c736..7357a62359 100644
--- a/test/lib/test/unit.rb
+++ b/test/lib/test/unit.rb
@@ -225,7 +225,7 @@ module Test
rescue Errno::EPIPE
died
rescue IOError
- raise unless ["stream closed","closed stream"].include? $!.message
+ raise unless /stream closed|closed stream/ =~ $!.message
died
end
end
diff --git a/test/lib/test/unit/parallel.rb b/test/lib/test/unit/parallel.rb
index 50d4427189..a71db5f56a 100644
--- a/test/lib/test/unit/parallel.rb
+++ b/test/lib/test/unit/parallel.rb
@@ -61,7 +61,7 @@ module Test
begin
th.join
rescue IOError
- raise unless ["stream closed","closed stream"].include? $!.message
+ raise unless /stream closed|closed stream/ =~ $!.message
end
i.close
diff --git a/thread.c b/thread.c
index c28f479b5a..c34565e9a1 100644
--- a/thread.c
+++ b/thread.c
@@ -4881,7 +4881,8 @@ Init_Thread(void)
rb_define_method(rb_cThread, "name=", rb_thread_setname, 1);
rb_define_method(rb_cThread, "inspect", rb_thread_inspect, 0);
- rb_vm_register_special_exception(ruby_error_stream_closed, rb_eIOError, "stream closed");
+ rb_vm_register_special_exception(ruby_error_stream_closed, rb_eIOError,
+ "stream closed in another thread");
cThGroup = rb_define_class("ThreadGroup", rb_cObject);
rb_define_alloc_func(cThGroup, thgroup_s_alloc);