Feature #2294

Updated by ko1 (Koichi Sasada) almost 8 years ago

  I am attaching a "ruby_bind_stack.patch" patch file  
  that adds a ruby_bind_stack() function to the Ruby C API. 
  This function allows me to inform the GC about the stack 
  boundaries of the coroutine inside which Ruby is embedded: 
    void ruby_bind_stack(void *lower, void *upper); 
  I am also attaching tarballs containing code examples that 
  embed Ruby inside two different coroutine environments: 
  UNIX System V contexts[1] and libpcl[2] coroutines. 
  Each tarball has an "output.log" file which contains the 
  result of running `script -c ./ output.log` on my 
  Linux yantram 2.6.31-ARCH #1 SMP PREEMPT Tue Oct 13 13:36:23 CEST 2009 i686 Intel(R) Pentium(R) D CPU 3.00GHz GenuineIntel GNU/Linux 
  The last section in "output.log" corresponds to Ruby @ SVN 
  trunk that is patched with the "ruby_bind_stack.patch"  
  patch file that is attached to this issue. 
  Thanks for your consideration. 
  See also: