unblock thread is only for main ractor.

other ractors should not have a unblock thread.
This patch fixes 6f727853ce.
This commit is contained in:
Koichi Sasada 2021-02-05 15:30:53 +09:00
Родитель 7baedeffe9
Коммит b2674c1fd7
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -1659,8 +1659,8 @@ rb_nogvl(void *(*func)(void *), void *data1,
ubf = ubf_select;
data2 = th;
}
else if (ubf && rb_ractor_living_thread_num(th->ractor) == 1) {
if (is_main_thread && flags & RB_NOGVL_UBF_ASYNC_SAFE) {
else if (ubf && rb_ractor_living_thread_num(th->ractor) == 1 && is_main_thread) {
if (flags & RB_NOGVL_UBF_ASYNC_SAFE) {
vm->ubf_async_safe = 1;
}
else {