Ruby
2.0.0p247(2013-06-27revision41674)
|
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 #if defined __GNUC__ && __GNUC__ >= 4 00025 #pragma GCC visibility push(default) 00026 #endif 00027 00028 void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1); 00029 00030 void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1, 00031 rb_unblock_function_t *ubf, void *data2); 00032 void *rb_thread_call_without_gvl2(void *(*func)(void *), void *data1, 00033 rb_unblock_function_t *ubf, void *data2); 00034 00035 #define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER 0x01 00036 #define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_ 00037 00038 #if defined __GNUC__ && __GNUC__ >= 4 00039 #pragma GCC visibility pop 00040 #endif 00041 00042 #if defined(__cplusplus) 00043 #if 0 00044 { /* satisfy cc-mode */ 00045 #endif 00046 } /* extern "C" { */ 00047 #endif 00048 00049 #endif /* RUBY_THREAD_H */ 00050