Ruby 1.9.3p327(2012-11-10revision37606)
thread_win32.h
Go to the documentation of this file.
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