summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-29 02:26:48 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-29 02:26:48 +0000
commit9f45081627cf682b3ee938353da134d6f28560da (patch)
tree6c598b2b8bb8a4bad16f6d8a0ec6452ff6029f53 /thread.c
parent93bfdb9dfd227db87bc7b219b86d1153525cd7d1 (diff)
ruby/ruby.h: add blockarg to rb_block_call_func
* include/ruby/ruby.h (rb_block_call_func): add blockarg. block function can take block argument, e.g., proc {|&blockarg| ...}. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/thread.c b/thread.c
index b7c7137840..905494fcd1 100644
--- a/thread.c
+++ b/thread.c
@@ -4867,8 +4867,9 @@ struct exec_recursive_params {
};
static VALUE
-exec_recursive_i(VALUE tag, struct exec_recursive_params *p)
+exec_recursive_i(VALUE tag, VALUE data, int argc, VALUE *argv, VALUE blockarg)
{
+ struct exec_recursive_params *p = (void *)data;
VALUE result = Qundef;
int state;
@@ -4926,7 +4927,7 @@ exec_recursive(VALUE (*func) (VALUE, VALUE, int), VALUE obj, VALUE pairid, VALUE
}
}
else {
- result = exec_recursive_i(0, &p);
+ result = exec_recursive_i(0, (VALUE)&p, 0, 0, Qnil);
}
}
*(volatile struct exec_recursive_params *)&p;