diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-31 00:12:02 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-31 00:12:02 +0000 |
commit | fffe09dd3dabd7dbcdbb1483bbed350563cd3b65 (patch) | |
tree | 0325a523bfc52ecd6628e918779880fc090642e0 /cont.c | |
parent | 31dc2ea28fe807a9c793147ba6417cbf6f34e383 (diff) |
merges r31577 from trunk into ruby_1_9_2.
--
* cont.c (cont_init): clear macihne_stack_start/end of saved thread to
prevent mark machine stack of GC'ed Thread. root Fiber is not initialized by
fiber_init(). based on a patch by Serge Balyuk [ruby-core:35891] fixes #4612
* test/ruby/test_fiber.rb (test_gc_root_fiber): add test for it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'cont.c')
-rw-r--r-- | cont.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -285,6 +285,7 @@ cont_init(rb_context_t *cont, rb_thread_t *th) /* save thread context */ cont->saved_thread = *th; cont->saved_thread.local_storage = 0; + cont->saved_thread.machine_stack_start = cont->saved_thread.machine_stack_end = 0; } static rb_context_t * |