diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-10-21 09:00:02 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-10-21 09:00:02 +0000 |
commit | 6199d665e8fb2f3118e75db457d4beb00624c48d (patch) | |
tree | a2f8e5c4ef38a997e4cc3cc10ae136748b8890d9 /rubysig.h | |
parent | 1cb54abea63878c65fc1397766f161ea9e526453 (diff) | |
download | ruby-6199d665e8fb2f3118e75db457d4beb00624c48d.tar.gz ruby-6199d665e8fb2f3118e75db457d4beb00624c48d.tar.xz ruby-6199d665e8fb2f3118e75db457d4beb00624c48d.zip |
* bin/erb (ERB::Main::run): typo fixed. [ruby-core:06337]
* env.h: move struct METHOD and struct BLOCK from eval.c to
support NodeWrap and ParseTree.
* rubysig.h (CHECK_INTS): prevent signal handler to run during
critical section. [ruby-core:04039]
* eval.c (load_wait): need not to call rb_thread_schedule()
explicitly. [ruby-core:04039]
* eval.c (rb_thread_schedule): clear rb_thread_critical.
[ruby-core:04039]
* eval.c (rb_obj_instance_exec): create instance_exec and
module_exec which pass arguments to the block.
* eval.c (rb_f_funcall): rename fcall to funcall to follow
tradition.
* st.c (st_free_table): do not call free() but xfree().
[ruby-core:06205]
* eval.c (splat_value): call rb_Array() to convert svalue to
values. [ruby-dev:27397]
* lib/cgi.rb (CGI::Cookie::parse): Cookies from Nokia devices may
not be parsed correctly. A patch from August Z. Flatby
(augustzf) in [ruby-Patches-2595]. [ruby-core:06183]
* object.c (rb_Array): Array() to raise error for objects without
to_ary, nor to_a.
* object.c (nil_to_a): revert NilClass#to_a.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'rubysig.h')
-rw-r--r-- | rubysig.h | 17 |
1 files changed, 7 insertions, 10 deletions
@@ -82,10 +82,9 @@ void rb_thread_schedule(void); #if defined(HAVE_SETITIMER) || defined(_THREAD_SAFE) RUBY_EXTERN int rb_thread_pending; # define CHECK_INTS do {\ - if (!rb_prohibit_interrupt) {\ + if (!(rb_prohibit_interrupt | rb_thread_critical)) {\ + if (rb_thread_pending) rb_thread_schedule();\ if (rb_trap_pending) rb_trap_exec();\ - if (rb_thread_pending && !rb_thread_critical)\ - rb_thread_schedule();\ }\ } while (0) #else @@ -93,15 +92,13 @@ RUBY_EXTERN int rb_thread_pending; RUBY_EXTERN int rb_thread_tick; #define THREAD_TICK 500 #define CHECK_INTS do {\ - if (!rb_prohibit_interrupt) {\ - if (rb_trap_pending) rb_trap_exec();\ - if (!rb_thread_critical) {\ - if (rb_thread_tick-- <= 0) {\ - rb_thread_tick = THREAD_TICK;\ - rb_thread_schedule();\ - }\ + if (!(rb_prohibit_interrupt | rb_thread_critical)) {\ + if (rb_thread_tick-- <= 0) {\ + rb_thread_tick = THREAD_TICK; + rb_thread_schedule(); }\ }\ + if (rb_trap_pending) rb_trap_exec();\ } while (0) #endif |