merge revision(s) 39484,39485: [Backport #7952]

* thread.c: Document Thread::new, clean up ::fork and mention calling
	  super if subclassing Thread


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagachika 2013-03-10 15:50:49 +00:00
parent cb0c051380
commit f612f51c66
3 changed files with 29 additions and 5 deletions

View file

@ -1,3 +1,8 @@
Mon Mar 11 00:50:21 2013 Zachary Scott <zachary@zacharyscott.net>
* thread.c: Document Thread::new, clean up ::fork and mention calling
super if subclassing Thread
Mon Mar 11 00:47:47 2013 Akinori MUSHA <knu@iDaemons.org> Mon Mar 11 00:47:47 2013 Akinori MUSHA <knu@iDaemons.org>
* configure.in (unexpand_shvar): Use the numeric comparison * configure.in (unexpand_shvar): Use the numeric comparison

View file

@ -622,7 +622,26 @@ thread_create_core(VALUE thval, VALUE args, VALUE (*fn)(ANYARGS))
return thval; return thval;
} }
/* :nodoc: */ /*
* call-seq:
* Thread.new { ... } -> thread
* Thread.new(*args, &proc) -> thread
* Thread.new(*args) { |args| ... } -> thread
*
* Creates a new thread executing the given block.
*
* Any +args+ given to ::new will be passed to the block:
*
* arr = []
* a, b, c = 1, 2, 3
* Thread.new(a,b,c) { |d,e,f| arr << d << e << f }.join
* arr #=> [1, 2, 3]
*
* A ThreadError exception is raised if ::new is called without a block.
*
* If you're going to subclass Thread, be sure to call super in your
* +initialize+ method, otherwise a ThreadError will be raised.
*/
static VALUE static VALUE
thread_s_new(int argc, VALUE *argv, VALUE klass) thread_s_new(int argc, VALUE *argv, VALUE klass)
{ {
@ -646,9 +665,9 @@ thread_s_new(int argc, VALUE *argv, VALUE klass)
* Thread.start([args]*) {|args| block } -> thread * Thread.start([args]*) {|args| block } -> thread
* Thread.fork([args]*) {|args| block } -> thread * Thread.fork([args]*) {|args| block } -> thread
* *
* Basically the same as <code>Thread::new</code>. However, if class * Basically the same as ::new. However, if class Thread is subclassed, then
* <code>Thread</code> is subclassed, then calling <code>start</code> in that * calling +start+ in that subclass will not invoke the subclass's
* subclass will not invoke the subclass's <code>initialize</code> method. * +initialize+ method.
*/ */
static VALUE static VALUE

View file

@ -1,6 +1,6 @@
#define RUBY_VERSION "2.0.0" #define RUBY_VERSION "2.0.0"
#define RUBY_RELEASE_DATE "2013-03-11" #define RUBY_RELEASE_DATE "2013-03-11"
#define RUBY_PATCHLEVEL 47 #define RUBY_PATCHLEVEL 48
#define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_YEAR 2013
#define RUBY_RELEASE_MONTH 3 #define RUBY_RELEASE_MONTH 3