diff options
author | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-09-23 21:29:47 +0000 |
---|---|---|
committer | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-09-23 21:29:47 +0000 |
commit | 8e49f9976fee62fd0e5fbae98166c971959fdff8 (patch) | |
tree | d4622329f0af807a8aed99679a848c6f6e6a8dad /ruby.h | |
parent | ddeb5db3b2e14b9b891bd56cf900006cd80bde71 (diff) | |
download | ruby-8e49f9976fee62fd0e5fbae98166c971959fdff8.tar.gz ruby-8e49f9976fee62fd0e5fbae98166c971959fdff8.tar.xz ruby-8e49f9976fee62fd0e5fbae98166c971959fdff8.zip |
* 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.
contributed by MenTaLguY. [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.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r-- | ruby.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -729,6 +729,7 @@ RUBY_EXTERN VALUE rb_eIOError; RUBY_EXTERN VALUE rb_eRuntimeError; RUBY_EXTERN VALUE rb_eSecurityError; RUBY_EXTERN VALUE rb_eSystemCallError; +RUBY_EXTERN VALUE rb_eThreadError; RUBY_EXTERN VALUE rb_eTypeError; RUBY_EXTERN VALUE rb_eZeroDivError; RUBY_EXTERN VALUE rb_eNotImpError; |