diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-08-25 12:09:19 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2019-12-03 17:27:34 +0200 |
commit | 5c2c3966851ed074eb468ad36d8d75e53b8eab6c (patch) | |
tree | a9494a7326ca8dc57d0cedcf2ee3df9dfa08b60a /thread.c | |
parent | 7f2cd2ae6fea76ff3a2b95b69e6e2f749e8a249f (diff) | |
download | ruby-5c2c3966851ed074eb468ad36d8d75e53b8eab6c.tar.gz |
Check interrupts before starting thread
Fixes a hang when Thread.new calls Thread.new in a loop.
Fixes [Bug #13688]
Diffstat (limited to 'thread.c')
-rw-r--r-- | thread.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -693,6 +693,7 @@ thread_do_start(rb_thread_t *th) } rb_adjust_argv_kw_splat(&args_len, &args_ptr, &kw_splat); + vm_check_ints_blocking(th->ec); th->value = rb_vm_invoke_proc(th->ec, proc, args_len, args_ptr, kw_splat, VM_BLOCK_HANDLER_NONE); |