[#42344] [ruby-trunk - Feature #5964][Open] Make Symbols an Alternate Syntax for Strings — Tom Wardrop <tom@...>

23 messages 2012/02/03

[#42443] [ruby-trunk - Bug #5985][Open] miniruby skews "make benchmark" results — Eric Wong <normalperson@...>

21 messages 2012/02/08

[#42444] [ruby-trunk - Bug #5986][Open] Segmentation Fault — Luis Matta <levmatta@...>

16 messages 2012/02/08

[#42471] [ruby-trunk - Feature #5995][Open] calling io_advise_internal() in read_all() — Masaki Matsushita <glass.saga@...>

20 messages 2012/02/10

[#42560] [ruby-trunk - Bug #6011][Open] ruby-1.9.3-p0/lib/webrick/utils.rb:184: [BUG] Segmentation fault — Vit Ondruch <v.ondruch@...>

12 messages 2012/02/13

[#42579] [ruby-trunk - Bug #6012][Open] Proc#source_location also return the column — Roger Pack <rogerpack2005@...>

14 messages 2012/02/14

[#42685] [ruby-trunk - Bug #6036][Open] Test failures in Fedora Rawhide/17 — Bohuslav Kabrda <bkabrda@...>

14 messages 2012/02/16

[#42697] [ruby-trunk - Bug #6040][Open] Transcoding test failure: Big5 to UTF8 not defined (MinGW) — Luis Lavena <luislavena@...>

10 messages 2012/02/16

[#42813] [ruby-trunk - Feature #6065][Open] Allow Bignum marshalling/unmarshalling from C API — Martin Bosslet <Martin.Bosslet@...>

22 messages 2012/02/23

[#42815] [ruby-trunk - Bug #6066][Open] Fix "control may reach end of non-void function" warnings for clang — Eric Hodel <drbrain@...7.net>

15 messages 2012/02/23

[#42857] [ruby-trunk - Feature #6074][Open] Allow alias arguments to have a comma — Thomas Sawyer <transfire@...>

20 messages 2012/02/24

[#42891] [ruby-trunk - Feature #6083][Open] Hide a Bignum definition — Koichi Sasada <redmine@...>

23 messages 2012/02/25

[#42906] [ruby-trunk - Bug #6085][Open] Treatment of Wrong Number of Arguments — Marc-Andre Lafortune <ruby-core@...>

14 messages 2012/02/25

[#42949] [ruby-trunk - Bug #6089][Open] Test suite fails with OpenSSL 1.0.1 — Vit Ondruch <v.ondruch@...>

13 messages 2012/02/26

[ruby-core:42947] [ruby-trunk - Feature #5958] ThreadGroup#join

From: Masaki Matsushita <glass.saga@...>
Date: 2012-02-26 08:32:33 UTC
List: ruby-core #42947
Issue #5958 has been updated by Masaki Matsushita.


Koichi Sasada wrote:
> What should happen when at least one thread causes an exception?

Under the patch, joining thread also causes the exception if the thread is being joined.
Otherwise, nothing will happen on joining thread.
It behaves the same as thgrp.list.each(&:join).

I think ThreadGroup#join may be more useful if it catches exceptions from all its threads and handles them like the following.

thgrp.join do |th| # each thread which causes an exception
  # handle an exception
end
----------------------------------------
Feature #5958: ThreadGroup#join
https://bugs.ruby-lang.org/issues/5958

Author: Masaki Matsushita
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 


=begin
I propose the method ThreadGroup#join.
Calling thread waits all threads in receiving threadgroup.

 thgrp = ThreadGroup.new
 thgrp.add(Thread.new{ sleep 1 })
 thgrp.join #=> #<ThreadGroup:0x007ff257d6d098>

Time limit to run the threads in the threadgroup can be specified.
If the time limit expires, nil will be returned.

 thgrp = ThreadGroup.new
 thgrp.add(Thread.new{})
 thgrp.add(Thread.new{ sleep })
 thgrp.join(0.1) #=> nil

I think it is useful to wait grouped threads together.
=end


-- 
http://bugs.ruby-lang.org/

In This Thread