Ruby 2.0.0p247(2013-06-27revision41674)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

thread_win32.h
Go to the documentation of this file.
1 /**********************************************************************
2
3 thread_win32.h -
4
5 $Author: nobu $
6
7 Copyright (C) 2004-2007 Koichi Sasada
8
9 **********************************************************************/
10
11 /* interface */
12 #ifndef RUBY_THREAD_WIN32_H
13 #define RUBY_THREAD_WIN32_H
14
15 #include <windows.h>
16
17 # ifdef __CYGWIN__
18 # undef _WIN32
19 # endif
20
21 WINBASEAPI BOOL WINAPI
22 TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection);
23
24 typedef HANDLE rb_thread_id_t;
25
26 typedef union rb_thread_lock_union {
27 HANDLE mutex;
28 CRITICAL_SECTION crit;
29 } rb_thread_lock_t;
30
31 typedef struct rb_thread_cond_struct {
32 struct cond_event_entry *next;
33 struct cond_event_entry *prev;
34 } rb_thread_cond_t;
35
36 typedef struct native_thread_data_struct {
37 HANDLE interrupt_event;
38 } native_thread_data_t;
39
40 typedef struct rb_global_vm_lock_struct {
41 HANDLE lock;
42 } rb_global_vm_lock_t;
43
44 #endif /* RUBY_THREAD_WIN32_H */
45
46