ruby-cvs:18241
From: (why) <why ruby-lang.org>
Date: Sat, 23 Sep 2006 23:39:34 +0900
Subject: [ruby-cvs:18241] ruby: * eval.c (rb_thread_save_context, rb_thread_restore_context):
why Sat, 23 Sep 2006 23:39:34 +0900
Modified files: (Branch: ruby_1_8)
ruby:
ChangeLog eval.c node.h ruby.h
Log:
* eval.c (rb_thread_save_context, rb_thread_restore_context):
sandbox hook to save and restore sandbox state.
* eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag.
* eval.c (rb_thread_kill_bang): Thread#kill! uses the above flag
to circumvent ensure, in order to prevent endless loops.
[ruby-core:08768]
* eval.c (rb_thread_kill): fix Thread#kill docs, which returns
the thread object in all cases.
* node.h: expose the rb_jmpbuf_t and rb_thread_t structs, along
with the thread flags. used by the sandbox extension.
* ruby.h: extern rb_eThreadError, so sandbox can swap it.
Revision Changes Path
1.2673.2.1888 +19 -0 ruby/ChangeLog
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ChangeLog?cvsroot=src&r1=1.2673.2.1887&r2=1.2673.2.1888
1.616.2.195 +84 -102 ruby/eval.c
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/eval.c?cvsroot=src&r1=1.616.2.194&r2=1.616.2.195
1.50.2.8 +93 -2 ruby/node.h
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/node.h?cvsroot=src&r1=1.50.2.7&r2=1.50.2.8
1.97.2.24 +2 -1 ruby/ruby.h
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ruby.h?cvsroot=src&r1=1.97.2.23&r2=1.97.2.24