Ruby
2.7.1p83(2020-03-31revisiona0c7c23c9cec0d0ffcba012279cd652d28ad5bf3)
|
#include "ruby/intern.h"
Go to the source code of this file.
Macros | |
#define | RB_NOGVL_INTR_FAIL (0x1) |
#define | RB_NOGVL_UBF_ASYNC_SAFE (0x2) |
#define | RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER 0x01 |
#define | RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_ |
Functions | |
RUBY_SYMBOL_EXPORT_BEGIN void * | rb_thread_call_with_gvl (void *(*func)(void *), void *data1) |
void * | rb_thread_call_without_gvl (void *(*func)(void *), void *data1, rb_unblock_function_t *ubf, void *data2) |
void * | rb_thread_call_without_gvl2 (void *(*func)(void *), void *data1, rb_unblock_function_t *ubf, void *data2) |
void * | rb_nogvl (void *(*func)(void *), void *data1, rb_unblock_function_t *ubf, void *data2, int flags) |
void* rb_nogvl | ( | void *(*)(void *) | func, |
void * | data1, | ||
rb_unblock_function_t * | ubf, | ||
void * | data2, | ||
int | flags | ||
) |
Definition at line 1452 of file thread.c.
References GET_EC.
Referenced by rb_thread_call_without_gvl(), and rb_thread_call_without_gvl2().
RUBY_SYMBOL_EXPORT_BEGIN void* rb_thread_call_with_gvl | ( | void *(*)(void *) | func, |
void * | data1 | ||
) |
Definition at line 1662 of file thread.c.
References rb_thread_struct::blocking_region_buffer, exit(), EXIT_FAILURE, fprintf(), if(), rb_bug(), stderr, waiting_fd::th, and rb_thread_struct::unblock.
Referenced by ossl_generate_cb_2().
void* rb_thread_call_without_gvl | ( | void *(*)(void *) | func, |
void * | data1, | ||
rb_unblock_function_t * | ubf, | ||
void * | data2 | ||
) |
Referenced by rb_getnameinfo().
void* rb_thread_call_without_gvl2 | ( | void *(*)(void *) | func, |
void * | data1, | ||
rb_unblock_function_t * | ubf, | ||
void * | data2 | ||
) |
Definition at line 1581 of file thread.c.
References rb_nogvl(), and RB_NOGVL_INTR_FAIL.