summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--configure.in2
-rw-r--r--eval.c7
-rw-r--r--ruby.h7
4 files changed, 18 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index ef67f2dec9..f66f06f038 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Fri Nov 21 01:40:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * configure.in: check <pthread.h>
+
+ * ruby.h: include pthread.h if existence.
+ define is_ruby_native() macro when not HAVE_NATIVETHREAD
+
+ * eval.c: undef is_ruby_native() function when not HAVE_NATIVETHREAD
+
Thu Nov 21 00:43:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
* lib/test/unit/assertions.rb: use #__send__ instead of #send.
diff --git a/configure.in b/configure.in
index a848ee43ad..53daac0220 100644
--- a/configure.in
+++ b/configure.in
@@ -350,7 +350,7 @@ AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h\
fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\
syscall.h pwd.h grp.h a.out.h utime.h memory.h direct.h sys/resource.h \
- sys/mkdev.h sys/utime.h float.h)
+ sys/mkdev.h sys/utime.h float.h pthread.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_UID_T
diff --git a/eval.c b/eval.c
index 597ce03c29..ecb1725cc1 100644
--- a/eval.c
+++ b/eval.c
@@ -1159,16 +1159,11 @@ void Init_ext _((void));
#ifdef HAVE_NATIVETHREAD
static rb_nativethread_t ruby_thid;
-#endif
-
int
is_ruby_native_thread() {
-#ifdef HAVE_NATIVETHREAD
return NATIVETHREAD_EQUAL(ruby_thid, NATIVETHREAD_CURRENT());
-#else
- return 1;
-#endif
}
+#endif
void
ruby_init()
diff --git a/ruby.h b/ruby.h
index 9818a3e149..9bd6217bb7 100644
--- a/ruby.h
+++ b/ruby.h
@@ -672,6 +672,9 @@ static char *dln_libs_to_be_linked[] = { EXTLIB, 0 };
#endif
#if defined(HAVE_LIBPTHREAD)
+#ifdef HAVE_PTHREAD_H
+#include <pthread.h>
+#endif
typedef pthread_t rb_nativethread_t;
# define NATIVETHREAD_CURRENT() pthread_self()
# define NATIVETHREAD_EQUAL(t1,t2) pthread_equal((t1),(t2))
@@ -682,7 +685,11 @@ typedef DWORD rb_nativethread_t;
# define NATIVETHREAD_EQUAL(t1,t2) ((t1) == (t2))
# define HAVE_NATIVETHREAD
#endif
+#ifdef HAVE_NATIVETHREAD
RUBY_EXTERN int is_ruby_native_thread();
+#else
+#define is_ruby_native_thread() (1)
+#endif
#if defined(__cplusplus)
} /* extern "C" { */