summaryrefslogtreecommitdiff
path: root/thread_native.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-23 09:53:14 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-23 09:53:14 +0000
commitbd058912da6ffef92a50fe759b1bae210ec82ea4 (patch)
tree6acbe02fa09f9dd60974ef76c5147dcfbab83718 /thread_native.h
parent374219291946885509dac502230c1084b0058238 (diff)
* thread_native.h: added.
Move native thread related lines from vm_core.h. And declare several functions "rb_nativethread_lock_*", manipulate locking. * common.mk: add thread_native.h. * thread.c: add functions "rb_nativethread_lock_*". * thraed.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t to rb_nativethread_lock_t to make it clear that this lock is for native thraeds, not for ruby threads. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread_native.h')
-rw-r--r--thread_native.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/thread_native.h b/thread_native.h
new file mode 100644
index 0000000000..2870b895c6
--- /dev/null
+++ b/thread_native.h
@@ -0,0 +1,21 @@
+#ifndef RUBY_THREAD_NATIVE_H
+#define RUBY_THREAD_NATIVE_H
+
+#if defined(_WIN32)
+#include "thread_win32.h"
+#elif defined(HAVE_PTHREAD_H)
+#include "thread_pthread.h"
+#else
+#error "unsupported thread type"
+#endif
+
+RUBY_SYMBOL_EXPORT_BEGIN
+
+void rb_nativethread_lock_initialize(rb_nativethread_lock_t *lock);
+void rb_nativethread_lock_destroy(rb_nativethread_lock_t *lock);
+void rb_nativethread_lock_lock(rb_nativethread_lock_t *lock);
+void rb_nativethread_lock_unlock(rb_nativethread_lock_t *lock);
+
+RUBY_SYMBOL_EXPORT_END
+
+#endif