Ruby  2.0.0p247(2013-06-27revision41674)
thread_pthread.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  thread_pthread.h -
4 
5  $Author: nobu $
6 
7  Copyright (C) 2004-2007 Koichi Sasada
8 
9 **********************************************************************/
10 
11 #ifndef RUBY_THREAD_PTHREAD_H
12 #define RUBY_THREAD_PTHREAD_H
13 
14 #include <pthread.h>
15 #ifdef HAVE_PTHREAD_NP_H
16 #include <pthread_np.h>
17 #endif
18 typedef pthread_t rb_thread_id_t;
19 typedef pthread_mutex_t rb_thread_lock_t;
20 
21 typedef struct rb_thread_cond_struct {
22  pthread_cond_t cond;
23 #ifdef HAVE_CLOCKID_T
24  clockid_t clockid;
25 #endif
27 
28 typedef struct native_thread_data_struct {
32 
33 #include <semaphore.h>
34 
35 #undef except
36 #undef try
37 #undef leave
38 #undef finally
39 
40 typedef struct rb_global_vm_lock_struct {
41  /* fast path */
42  unsigned long acquired;
43  pthread_mutex_t lock;
44 
45  /* slow path */
46  volatile unsigned long waiting;
48 
49  /* yield */
55 
56 #endif /* RUBY_THREAD_PTHREAD_H */
volatile unsigned long waiting
pthread_mutex_t rb_thread_lock_t
rb_thread_cond_t switch_cond
struct rb_thread_cond_struct rb_thread_cond_t
pthread_t rb_thread_id_t
struct native_thread_data_struct native_thread_data_t
rb_thread_cond_t cond
rb_thread_cond_t switch_wait_cond
rb_thread_cond_t sleep_cond
pthread_cond_t cond
struct rb_global_vm_lock_struct rb_global_vm_lock_t