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
This commit is contained in:
nobu 2017-04-09 05:09:44 +00:00
Родитель dce00119c6
Коммит f9ca643683
4 изменённых файлов: 8 добавлений и 3 удалений

4
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

Просмотреть файл

@ -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

Просмотреть файл

@ -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

Просмотреть файл

@ -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);