1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/-ext-
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
..
arith_seq
array
bignum
bug_reporter
class
debug
exception
file
float
funcall Add three more C-API functions for handling keywords 2019-09-29 18:31:08 -07:00
gvl
hash
integer
iseq_load
iter
load
marshal
method
num2int
path_to_class
popen_deadlock
postponed_job check interrupts at each frame pop timing. 2019-11-29 17:47:02 +09:00
proc
rational
st
string test/-ext-/string/test_fstring.rb: suppress a warning for taint 2019-11-18 09:25:49 -06:00
struct Fix typos 2019-11-09 21:12:29 +09:00
symbol
thread_fd_close
time
tracepoint
typeddata
vm
wait_for_single_fd
win32
test_bug-3571.rb
test_bug-5832.rb
test_bug-14834.rb
test_enumerator_kw.rb Add rb_enumeratorize_with_size_kw and related macros 2019-09-30 07:06:42 -07:00
test_notimplement.rb
test_printf.rb Deprecate taint/trust and related methods, and make the methods no-ops 2019-11-18 01:00:25 +02:00
test_recursion.rb
test_scan_args.rb Make rb_scan_args handle keywords more similar to Ruby methods (#2460) 2019-09-25 11:18:49 -07:00