From 2657faae0193748c041d8311590dd5f03dd2ce0b Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 6 Nov 2008 22:43:30 +0000 Subject: [PATCH] * thread.c (thread_timer): pthread_cond_timedwait returns ETIMEDOUT when timed out. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ thread_pthread.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 759f73456d..dee206d226 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Nov 7 07:43:27 2008 Nobuyoshi Nakada + + * thread.c (thread_timer): pthread_cond_timedwait returns ETIMEDOUT + when timed out. + Fri Nov 7 07:32:55 2008 Yukihiro Matsumoto * lib/yaml/rubytypes.rb: support Rational and Complex as 1.8 diff --git a/thread_pthread.c b/thread_pthread.c index d7d1eb52f9..e73879119a 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -672,7 +672,7 @@ thread_timer(void *dummy) static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&lock); -#define WAIT_FOR_10MS() (pthread_cond_timedwait(&timer_thread_cond, &lock, get_ts(&ts, PER_NANO/100)) == 0) +#define WAIT_FOR_10MS() (pthread_cond_timedwait(&timer_thread_cond, &lock, get_ts(&ts, PER_NANO/100)) == ETIMEDOUT) while (WAIT_FOR_10MS()) { #ifndef __CYGWIN__ if (signal_thread_list_anchor.next) {