include/ruby/thread.h File Reference

#include "ruby/intern.h"

Go to the source code of this file.

Defines

#define RUBY_THREAD_H   1
#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)


Define Documentation

#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_

Definition at line 34 of file thread.h.

#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER   0x01

Definition at line 33 of file thread.h.

#define RUBY_THREAD_H   1

Definition at line 13 of file thread.h.


Function Documentation

RUBY_SYMBOL_EXPORT_BEGIN void* rb_thread_call_with_gvl ( void *(*)(void *)  func,
void *  data1 
)

Definition at line 1450 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(), and rb_thread_struct::unblock.

Referenced by 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 
)

Referenced by bigdivrem_restoring(), copy_stream_body(), dh_generate(), dsa_generate(), maygvl_close(), maygvl_fclose(), rb_getaddrinfo(), rb_getnameinfo(), rb_sysopen_internal(), rb_thread_blocking_region(), rb_waitpid(), rsa_generate(), and zstream_run().

void* rb_thread_call_without_gvl2 ( void *(*)(void *)  func,
void *  data1,
rb_unblock_function_t ubf,
void *  data2 
)

Definition at line 1366 of file thread.c.

References call_without_gvl(), and TRUE.

Referenced by io_flush_buffer_async2(), and rb_write_internal2().


Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7