summaryrefslogtreecommitdiff
path: root/node.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-09 06:20:20 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-09 06:20:20 +0000
commitf1ef16986158cc8ec7f95e9f0e49a9ffa5e5ce77 (patch)
tree3755b0bab633a13e62bf1d11152f43c9cd767b85 /node.h
parent98aaad53dad1d4a259a1143c86834ed942709765 (diff)
* eval.c (TAG_THREAD): to start a new thread.
* eval.c (ruby_init, ruby_options, ruby_cleanup, rb_protect, rb_load_protect, rb_thread_start_0): make thread anchor. * eval.c (proc_alloc): clone proc object if klass is not Proc or created in different thread. * eval.c (rb_block_pass): call a function with a block. [new] * eval.c (rb_thread_start_0): restore prot_tag before rewinding. * eval.c (rb_thread_start_0): update curr_thread before raising TAG_THREAD. [ruby-dev:25712] * eval.c (rb_thread_start_1): outer block variables wasn't linked to threads. fixed: [ruby-dev:25700] * eval.c (rb_thread_start_1): initialize newly pushed frame. fixed: [ruby-dev:25707] * node.h (struct rb_thread): added anchor. backported r7954, r7964, r7980, r7992, r8014 from trunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@21407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'node.h')
-rw-r--r--node.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/node.h b/node.h
index edc24b23d7..604bc837d0 100644
--- a/node.h
+++ b/node.h
@@ -461,6 +461,8 @@ struct rb_thread {
VALUE thread;
VALUE sandbox;
+
+ struct ruby_env *anchor;
};
extern VALUE (*ruby_sandbox_save)_((rb_thread_t));