1/********************************************************************** 2 3 thread.h - 4 5 $Author: matz $ 6 created at: Tue Jul 10 17:35:43 JST 2012 7 8 Copyright (C) 2007 Yukihiro Matsumoto 9 10**********************************************************************/ 11 12#ifndef RUBY_THREAD_H 13#define RUBY_THREAD_H 1 14 15#if defined(__cplusplus) 16extern "C" { 17#if 0 18} /* satisfy cc-mode */ 19#endif 20#endif 21 22#include "ruby/intern.h" 23 24#if defined __GNUC__ && __GNUC__ >= 4 25#pragma GCC visibility push(default) 26#endif 27 28void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1); 29 30void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1, 31 rb_unblock_function_t *ubf, void *data2); 32void *rb_thread_call_without_gvl2(void *(*func)(void *), void *data1, 33 rb_unblock_function_t *ubf, void *data2); 34 35#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER 0x01 36#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_ 37 38#if defined __GNUC__ && __GNUC__ >= 4 39#pragma GCC visibility pop 40#endif 41 42#if defined(__cplusplus) 43#if 0 44{ /* satisfy cc-mode */ 45#endif 46} /* extern "C" { */ 47#endif 48 49#endif /* RUBY_THREAD_H */ 50