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 21WINBASEAPI BOOL WINAPI 22TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection); 23 24typedef HANDLE rb_thread_id_t; 25 26typedef union rb_thread_lock_union { 27 HANDLE mutex; 28 CRITICAL_SECTION crit; 29} rb_thread_lock_t; 30 31typedef struct rb_thread_cond_struct { 32 struct cond_event_entry *next; 33 struct cond_event_entry *prev; 34} rb_thread_cond_t; 35 36typedef struct native_thread_data_struct { 37 HANDLE interrupt_event; 38} native_thread_data_t; 39 40typedef struct rb_global_vm_lock_struct { 41 HANDLE lock; 42} rb_global_vm_lock_t; 43 44#endif /* RUBY_THREAD_WIN32_H */ 45 46