1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/core/thread
Koichi Sasada 36da0b3da1 check interrupts at each frame pop timing.
Asynchronous events such as signal trap, finalization timing,
thread switching and so on are managed by "interrupt_flag".
Ruby's threads check this flag periodically and if a thread
does not check this flag, above events doesn't happen.

This checking is CHECK_INTS() (related) macro and it is placed
at some places (laeve instruction and so on). However, at the end
of C methods, C blocks (IMEMO_IFUNC) etc there are no checking
and it can introduce uninterruptible thread.

To modify this situation, we decide to place CHECK_INTS() at
vm_pop_frame(). It increases interrupt checking points.
[Bug #16366]

This patch can introduce unexpected events...
2019-11-29 17:47:02 +09:00
..
backtrace/location Update to ruby/spec@519df35 2019-09-29 16:03:58 +02:00
fixtures Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
shared Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
abort_on_exception_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
add_trace_func_spec.rb
alive_spec.rb
allocate_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
backtrace_locations_spec.rb Update to ruby/spec@519df35 2019-09-29 16:03:58 +02:00
backtrace_spec.rb
current_spec.rb
element_reference_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
element_set_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
exclusive_spec.rb Update to ruby/spec@28a728b 2019-10-26 20:53:01 +02:00
exit_spec.rb
fetch_spec.rb
fork_spec.rb
group_spec.rb
initialize_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
inspect_spec.rb
join_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
key_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
keys_spec.rb
kill_spec.rb
list_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
main_spec.rb
name_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
new_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
pass_spec.rb
priority_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
raise_spec.rb check interrupts at each frame pop timing. 2019-11-29 17:47:02 +09:00
report_on_exception_spec.rb
run_spec.rb
set_trace_func_spec.rb
start_spec.rb
status_spec.rb
stop_spec.rb
terminate_spec.rb
thread_variable_get_spec.rb
thread_variable_set_spec.rb
thread_variable_spec.rb
thread_variables_spec.rb
value_spec.rb Update to ruby/spec@875a09e 2019-07-27 12:40:09 +02:00
wakeup_spec.rb