diff options
Diffstat (limited to 'thread_pthread.c')
-rw-r--r-- | thread_pthread.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/thread_pthread.c b/thread_pthread.c index d8d3184c62..499da0b9ca 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -1542,6 +1542,11 @@ rb_thread_wakeup_timer_thread(int sig) if (ec) { RUBY_VM_SET_TRAP_INTERRUPT(ec); ubf_timer_arm(current); + + /* some ubfs can interrupt single-threaded process directly */ + if (vm->ubf_async_safe && mth->unblock.func) { + (mth->unblock.func)(mth->unblock.arg); + } } } } |