summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--configure.in1
-rw-r--r--defines.h4
-rw-r--r--eval.c12
4 files changed, 21 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 5cc81e6e11..78e0449543 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Thu Jul 24 16:05:22 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * configure.in (AC_C_VOLATILE): check if volatile works.
+
+ * defines.h (volatile): removed.
+
+ * eval.c (rb_thread_group): Thread#group. [new]
+
Thu Jul 24 15:50:42 JST 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/extconf.rb: add check for win32 OpenSSL libraries.
diff --git a/configure.in b/configure.in
index 96fabbf96d..ea0a466111 100644
--- a/configure.in
+++ b/configure.in
@@ -475,6 +475,7 @@ AC_C_BIGENDIAN
AC_C_CONST
AC_C_CHAR_UNSIGNED
AC_C_INLINE
+AC_C_VOLATILE
AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign,
[AC_TRY_RUN([
diff --git a/defines.h b/defines.h
index 59b348a2cc..6fd17808ae 100644
--- a/defines.h
+++ b/defines.h
@@ -12,10 +12,6 @@
#define RUBY
-#if !defined(__STDC__) && !defined(_MSC_VER)
-# define volatile
-#endif
-
#ifdef __cplusplus
# ifndef HAVE_PROTOTYPES
# define HAVE_PROTOTYPES 1
diff --git a/eval.c b/eval.c
index 13f9bec54a..ed3815ba6f 100644
--- a/eval.c
+++ b/eval.c
@@ -9178,6 +9178,17 @@ rb_thread_abort_exc_set(thread, val)
return val;
}
+VALUE
+rb_thread_group(thread)
+ VALUE thread;
+{
+ VALUE group = rb_thread_check(thread)->thgroup;
+ if (!group) {
+ group = Qnil;
+ }
+ return group;
+}
+
#define THREAD_ALLOC(th) do {\
th = ALLOC(struct thread);\
\
@@ -10024,6 +10035,7 @@ Init_Thread()
rb_define_method(rb_cThread, "priority", rb_thread_priority, 0);
rb_define_method(rb_cThread, "priority=", rb_thread_priority_set, 1);
rb_define_method(rb_cThread, "safe_level", rb_thread_safe_level, 0);
+ rb_define_method(rb_cThread, "group", rb_thread_group, 0);
rb_define_method(rb_cThread, "[]", rb_thread_aref, 1);
rb_define_method(rb_cThread, "[]=", rb_thread_aset, 2);