Ruby  2.5.0dev(2017-10-22revision60238)
thread.h
Go to the documentation of this file.
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)
16 extern "C" {
17 #if 0
18 } /* satisfy cc-mode */
19 #endif
20 #endif
21 
22 #include "ruby/intern.h"
23 
25 
26 void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
27 
28 void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1,
29  rb_unblock_function_t *ubf, void *data2);
30 void *rb_thread_call_without_gvl2(void *(*func)(void *), void *data1,
31  rb_unblock_function_t *ubf, void *data2);
32 
33 #define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER 0x01
34 #define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_
35 
37 
38 #if defined(__cplusplus)
39 #if 0
40 { /* satisfy cc-mode */
41 #endif
42 } /* extern "C" { */
43 #endif
44 
45 #endif /* RUBY_THREAD_H */
void rb_unblock_function_t(void *)
Definition: intern.h:872
void * rb_thread_call_without_gvl2(void *(*func)(void *), void *data1, rb_unblock_function_t *ubf, void *data2)
Definition: thread.c:1422
void * rb_thread_call_without_gvl(void *(*func)(void *), void *data1, rb_unblock_function_t *ubf, void *data2)
#define RUBY_SYMBOL_EXPORT_END
Definition: missing.h:49
#define RUBY_SYMBOL_EXPORT_BEGIN
Definition: missing.h:48
RUBY_SYMBOL_EXPORT_BEGIN void * rb_thread_call_with_gvl(void *(*func)(void *), void *data1)
Definition: thread.c:1501