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 + + * 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 * 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);