39 enum thread_sched_waiting_flag {
40 thread_sched_waiting_none = 0x00,
41 thread_sched_waiting_timeout = 0x01,
42 thread_sched_waiting_io_read = 0x02,
43 thread_sched_waiting_io_write = 0x08,
44 thread_sched_waiting_io_force = 0x40,
49#ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
54 uint32_t event_serial;
60 struct ccan_list_node node;
68 struct ccan_list_node fd_node;
124 rb_nativethread_id_t thread_id;
126#ifdef RB_THREAD_T_HAS_NATIVE_ID
133 HANDLE interrupt_event;
140 rb_nativethread_lock_t running_th_lock;
142 struct ccan_list_node snts_node;
144 struct ccan_list_node running_dnts_node;
147 uint32_t barrier_counted_serial;
150 rb_nativethread_cond_t readyq;
152#ifdef USE_SIGALTSTACK
218 rb_nativethread_lock_t lock;
222 rb_nativethread_cond_t cond;
224 unsigned int dnt_cnt;
226 unsigned int max_cpu;
227 struct ccan_list_head grq;
229 unsigned int grq_cnt;
234 rb_nativethread_lock_t lock;
235 struct ccan_list_head running_dnts;
236 struct ccan_list_head snts;
242 rb_nativethread_lock_t lock;
243 struct ccan_list_head scheds;
247 bool timeslice_wait_inf;
250 rb_nativethread_cond_t barrier_complete_cond;
251 rb_nativethread_cond_t barrier_release_cond;
256 unsigned int barrier_joined_cnt;
257 unsigned int barrier_running_cnt;
258 unsigned int barrier_serial;
260 unsigned int barrier_lock_rec;