diff options
| author | John Hawthorn <john@hawthorn.email> | 2024-11-14 15:21:38 -0800 |
|---|---|---|
| committer | John Hawthorn <john@hawthorn.email> | 2025-05-15 14:44:26 -0700 |
| commit | d845da05e83a2c2929ef8d4fd829804d44f292d3 (patch) | |
| tree | 27cd2aa21ccf56a19fe6c01725e3cb5b533d0b1a /thread.c | |
| parent | 55c9c75b4788f6411bfa14f0e7d462d06850f60d (diff) | |
Force reset running time in timer interrupt
Co-authored-by: Ivo Anjo <ivo.anjo@datadoghq.com>
Co-authored-by: Luke Gruber <luke.gru@gmail.com>
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/12094
Diffstat (limited to 'thread.c')
| -rw-r--r-- | thread.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -173,7 +173,7 @@ static inline void blocking_region_end(rb_thread_t *th, struct rb_blocking_regio #define THREAD_BLOCKING_END(th) \ thread_sched_to_running((sched), (th)); \ - rb_ractor_thread_switch(th->ractor, th); \ + rb_ractor_thread_switch(th->ractor, th, false); \ } while(0) #ifdef __GNUC__ @@ -1470,7 +1470,7 @@ rb_thread_schedule_limits(uint32_t limits_us) RB_VM_SAVE_MACHINE_CONTEXT(th); thread_sched_yield(TH_SCHED(th), th); - rb_ractor_thread_switch(th->ractor, th); + rb_ractor_thread_switch(th->ractor, th, true); RUBY_DEBUG_LOG("switch %s", "done"); } @@ -1518,7 +1518,7 @@ blocking_region_end(rb_thread_t *th, struct rb_blocking_region_buffer *region) unregister_ubf_list(th); thread_sched_to_running(TH_SCHED(th), th); - rb_ractor_thread_switch(th->ractor, th); + rb_ractor_thread_switch(th->ractor, th, false); th->blocking_region_buffer = 0; rb_ractor_blocking_threads_dec(th->ractor, __FILE__, __LINE__); |
