summaryrefslogtreecommitdiff
path: root/ruby.h
diff options
context:
space:
mode:
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/ruby.h b/ruby.h
index 0bd05b5c3d..7bac5db499 100644
--- a/ruby.h
+++ b/ruby.h
@@ -671,6 +671,21 @@ rb_special_const_p(obj)
static char *dln_libs_to_be_linked[] = { EXTLIB, 0 };
#endif
+#if defined(HAVE_LIBPTHREAD)
+typedef pthread_t rb_nativethread_t;
+# define NATIVETHREAD_CURRENT() pthread_self()
+# define NATIVETHREAD_EQUAL(t1,t2) pthread_equal((t1),(t2))
+# define HAVE_NATIVETHREAD
+#elif defined(_WIN32) || defined(_WIN32_WCE) || defined(__CYGWIN__)
+typedef DWORD rb_nativethread_t;
+# define NATIVETHREAD_CURRENT() GetCurrentThreadId()
+# define NATIVETHREAD_EQUAL(t1,t2) ((t1) == (t2))
+# define HAVE_NATIVETHREAD
+#endif
+#ifdef HAVE_NATIVETHREAD
+RUBY_EXTERN int is_ruby_native_thread();
+#endif
+
#if defined(__cplusplus)
} /* extern "C" { */
#endif