Ruby 1.9.3p327(2012-11-10revision37606)
|
00001 /********************************************************************** 00002 00003 thread_win32.h - 00004 00005 $Author: kosaki $ 00006 00007 Copyright (C) 2004-2007 Koichi Sasada 00008 00009 **********************************************************************/ 00010 00011 /* interface */ 00012 #ifndef RUBY_THREAD_WIN32_H 00013 #define RUBY_THREAD_WIN32_H 00014 00015 #include <windows.h> 00016 00017 # ifdef __CYGWIN__ 00018 # undef _WIN32 00019 # endif 00020 00021 WINBASEAPI BOOL WINAPI 00022 TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection); 00023 00024 typedef HANDLE rb_thread_id_t; 00025 typedef CRITICAL_SECTION rb_thread_lock_t; 00026 typedef struct rb_thread_cond_struct { 00027 struct cond_event_entry *next; 00028 struct cond_event_entry *prev; 00029 } rb_thread_cond_t; 00030 00031 typedef struct native_thread_data_struct { 00032 HANDLE interrupt_event; 00033 } native_thread_data_t; 00034 00035 typedef struct rb_global_vm_lock_struct { 00036 HANDLE lock; 00037 } rb_global_vm_lock_t; 00038 00039 #endif /* RUBY_THREAD_WIN32_H */ 00040 00041