ruby-changes:12405
From: shyouhei <ko1@a...>
Date: Tue, 14 Jul 2009 20:31:53 +0900 (JST)
Subject: [ruby-changes:12405] Ruby:r24104 (ruby_1_8_7): merge revision(s) 23202,23268,23305:
shyouhei 2009-07-14 20:31:37 +0900 (Tue, 14 Jul 2009) New Revision: 24104 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24104 Log: merge revision(s) 23202,23268,23305: * eval.c (safe_mutex_lock): pthread_cleanup_push() must not be inside parens. * eval.c (rb_thread_start_timer): guard condition was inverted. [ruby-dev:38319] * eval.c (get_ts): use readtime clock. [ruby-dev:38354] * eval.c (rb_thread_stop_timer): clear thread_init while locking. Modified files: branches/ruby_1_8_7/ChangeLog branches/ruby_1_8_7/eval.c branches/ruby_1_8_7/version.h Index: ruby_1_8_7/ChangeLog =================================================================== --- ruby_1_8_7/ChangeLog (revision 24103) +++ ruby_1_8_7/ChangeLog (revision 24104) @@ -1,3 +1,19 @@ +Tue Jul 14 19:57:28 2009 Nobuyoshi Nakada <nobu@r...> + + * eval.c (get_ts): use readtime clock. [ruby-dev:38354] + + * eval.c (rb_thread_stop_timer): clear thread_init while locking. + +Tue Jul 14 19:57:28 2009 Nobuyoshi Nakada <nobu@r...> + + * eval.c (rb_thread_start_timer): guard condition was inverted. + [ruby-dev:38319] + +Tue Jul 14 19:57:28 2009 Nobuyoshi Nakada <nobu@r...> + + * eval.c (safe_mutex_lock): pthread_cleanup_push() must not be + inside parens. + Mon Jul 13 01:36:54 2009 Nobuyoshi Nakada <nobu@r...> * time.c (time_timeval): rounds subsecond toward zero. Index: ruby_1_8_7/version.h =================================================================== --- ruby_1_8_7/version.h (revision 24103) +++ ruby_1_8_7/version.h (revision 24104) @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2009-07-13" +#define RUBY_RELEASE_DATE "2009-07-14" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20090713 -#define RUBY_PATCHLEVEL 182 +#define RUBY_RELEASE_CODE 20090714 +#define RUBY_PATCHLEVEL 183 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 7 -#define RUBY_RELEASE_DAY 13 +#define RUBY_RELEASE_DAY 14 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; Index: ruby_1_8_7/eval.c =================================================================== --- ruby_1_8_7/eval.c (revision 24103) +++ ruby_1_8_7/eval.c (revision 24104) @@ -12252,8 +12252,8 @@ { struct timeval tv; -#ifdef CLOCK_MONOTONIC - if (clock_gettime(CLOCK_MONOTONIC, to) != 0) +#ifdef CLOCK_REALTIME + if (clock_gettime(CLOCK_REALTIME, to) != 0) #endif { gettimeofday(&tv, NULL); @@ -12274,8 +12274,8 @@ } time_thread = {PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER}; #define safe_mutex_lock(lock) \ - (pthread_mutex_lock(lock), \ - pthread_cleanup_push((void (*)_((void *)))pthread_mutex_unlock, lock)) + pthread_mutex_lock(lock); \ + pthread_cleanup_push((void (*)_((void *)))pthread_mutex_unlock, lock) static void* thread_timer(dummy) @@ -12316,7 +12316,7 @@ void *args[2]; static pthread_cond_t start = PTHREAD_COND_INITIALIZER; - if (!thread_init) return; + if (thread_init) return; args[0] = &time_thread; args[1] = &start; safe_mutex_lock(&time_thread.lock); @@ -12334,9 +12334,9 @@ if (!thread_init) return; safe_mutex_lock(&time_thread.lock); pthread_cond_signal(&time_thread.cond); + thread_init = 0; pthread_cleanup_pop(1); pthread_join(time_thread.thread, NULL); - thread_init = 0; } #elif defined(HAVE_SETITIMER) static void -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/