Issue #3187 has been updated by Shyouhei Urabe.


We looked at this issue at yesterday's developer meeting.

The (potential) problem here is the way Rubinius implements stack size accidentally breaks compatibility of how Thread.new works.  In the current API _all_ the argument passed to this method are forwarded to its block.  As far as I read the patch pointed by Charles it seems Rubinius chose to break here and let it eat the keyword arguments.  This might work -- given Rubinius lives without any serious problem around it -- but does change the way it works in thre MRI.

Another approach would be to separate a thread creation; then inject arguments to it; then finally kick it to run. This is what ko1 proposed in issue #6694.

----------------------------------------
Feature #3187: Allow dynamic Fiber stack size
https://bugs.ruby-lang.org/issues/3187#change-59703

* Author: Mike Perham
* Status: Feedback
* Priority: Normal
* Assignee: Koichi Sasada
----------------------------------------
=begin
 I'd like a way to increase the size of the Fiber stack dynamically so when my program starts, I can set it to whatever value I need for the code I'm running.  4KB is too easy to run into problems when running recursive code but settling on any arbitrary static value seems pointless to me.
=end


---Files--------------------------------
fiber_stacksize.patch (5.89 KB)


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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>