This commit is contained in:
Nobuyoshi Nakada 2024-05-29 16:25:28 +09:00
Родитель f630b24d7a
Коммит da69c9235f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 3582D74E1FEE4465
2 изменённых файлов: 3 добавлений и 1 удалений

2
load.c
Просмотреть файл

@ -1284,7 +1284,7 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception, bool wa
else {
switch (found) {
case 'r':
load_iseq_eval(ec, path);
load_iseq_eval(saved.ec, path);
break;
case 's':

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

@ -1790,6 +1790,7 @@ rb_thread_io_blocking_call(rb_blocking_function_t *func, void *data1, int fd, in
{
EC_PUSH_TAG(ec);
if ((state = EC_EXEC_TAG()) == TAG_NONE) {
volatile enum ruby_tag_type saved_state = state; /* for BLOCKING_REGION */
retry:
BLOCKING_REGION(waiting_fd.th, {
val = func(data1);
@ -1803,6 +1804,7 @@ rb_thread_io_blocking_call(rb_blocking_function_t *func, void *data1, int fd, in
RUBY_VM_CHECK_INTS_BLOCKING(ec);
goto retry;
}
state = saved_state;
}
EC_POP_TAG();