summaryrefslogtreecommitdiff
path: root/thread_win32.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-12-31 15:02:22 (GMT)
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-12-31 15:02:22 (GMT)
commita3e1b1ce7ed7e7ffac23015fc2fde56511b30681 (patch)
tree7b725552a9a4ded93849ca2faab1b257f7761790 /thread_win32.h
parent3e7566d8fb5138bb9cd647e5fdefc54fc9803509 (diff)
* Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread_win32.h')
-rw-r--r--thread_win32.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/thread_win32.h b/thread_win32.h
new file mode 100644
index 0000000..8be59b0
--- /dev/null
+++ b/thread_win32.h
@@ -0,0 +1,34 @@
+/**********************************************************************
+
+ thread_win32.h -
+
+ $Author$
+ $Date$
+
+ Copyright (C) 2004-2006 Koichi Sasada
+
+**********************************************************************/
+
+/* interface */
+#ifndef THREAD_WIN32_H_INCLUDED
+#define THREAD_WIN32_H_INCLUDED
+
+#include <windows.h>
+
+WINBASEAPI BOOL WINAPI
+TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection);
+
+typedef HANDLE yarv_thread_id_t;
+typedef CRITICAL_SECTION yarv_thread_lock_t;
+
+int native_mutex_lock(yarv_thread_lock_t *);
+int native_mutex_unlock(yarv_thread_lock_t *);
+int native_mutex_trylock(yarv_thread_lock_t *);
+void native_mutex_initialize(yarv_thread_lock_t *);
+
+typedef struct native_thread_data_struct {
+ HANDLE interrupt_event;
+} native_thread_data_t;
+
+#endif /* THREAD_WIN32_H_INCLUDED */
+