diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-29 02:26:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-29 02:26:48 +0000 |
commit | 9f45081627cf682b3ee938353da134d6f28560da (patch) | |
tree | 6c598b2b8bb8a4bad16f6d8a0ec6452ff6029f53 /thread.c | |
parent | 93bfdb9dfd227db87bc7b219b86d1153525cd7d1 (diff) | |
download | ruby-9f45081627cf682b3ee938353da134d6f28560da.tar.gz |
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.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; |