Ruby
2.4.2p198(2017-09-14revision59899)
|
#include "ruby/intern.h"
Go to the source code of this file.
Macros | |
#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) |
RUBY_SYMBOL_EXPORT_BEGIN void* rb_thread_call_with_gvl | ( | void *(*)(void *) | func, |
void * | data1 | ||
) |
Definition at line 1499 of file thread.c.
References rb_unblock_callback::arg, blocking_region_begin(), rb_thread_struct::blocking_region_buffer, blocking_region_end(), EXIT_FAILURE, FALSE, rb_unblock_callback::func, if(), rb_bug(), waiting_fd::th, and rb_thread_struct::unblock.
Referenced by callback(), garbage_collect_with_gvl(), maygvl_copy_stream_continue_p(), negative_size_allocation_error(), ruby_memerror(), and zstream_run_func().
void* rb_thread_call_without_gvl | ( | void *(*)(void *) | func, |
void * | data1, | ||
rb_unblock_function_t * | ubf, | ||
void * | data2 | ||
) |
void* rb_thread_call_without_gvl2 | ( | void *(*)(void *) | func, |
void * | data1, | ||
rb_unblock_function_t * | ubf, | ||
void * | data2 | ||
) |
Definition at line 1420 of file thread.c.
References call_without_gvl(), func, and TRUE.
Referenced by io_flush_buffer_async2(), mustbe_callable(), rb_execarg_parent_start1(), and rb_write_internal2().