00001 /********************************************************************** 00002 00003 thread.h - 00004 00005 $Author: matz $ 00006 created at: Tue Jul 10 17:35:43 JST 2012 00007 00008 Copyright (C) 2007 Yukihiro Matsumoto 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 } /* satisfy cc-mode */ 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 { /* satisfy cc-mode */ 00041 #endif 00042 } /* extern "C" { */ 00043 #endif 00044 00045 #endif /* RUBY_THREAD_H */ 00046
1.4.7