00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef RUBY_THREAD_H
00013 #define RUBY_THREAD_H 1
00014
00015 #if defined(__cplusplus)
00016 extern "C" {
00017 #if 0
00018 }
00019 #endif
00020 #endif
00021
00022 #include "ruby/intern.h"
00023
00024 RUBY_SYMBOL_EXPORT_BEGIN
00025
00026 void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
00027
00028 void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1,
00029 rb_unblock_function_t *ubf, void *data2);
00030 void *rb_thread_call_without_gvl2(void *(*func)(void *), void *data1,
00031 rb_unblock_function_t *ubf, void *data2);
00032
00033 #define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER 0x01
00034 #define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_
00035
00036 RUBY_SYMBOL_EXPORT_END
00037
00038 #if defined(__cplusplus)
00039 #if 0
00040 {
00041 #endif
00042 }
00043 #endif
00044
00045 #endif
00046