From 82983e834d2122c3a53c30b166b7eb708da4885f Mon Sep 17 00:00:00 2001 From: yugui Date: Thu, 17 May 2012 03:54:50 +0000 Subject: [PATCH] * thread.c, thread_pthread.c: Moved pthread-specific preprocessor hacks to thread_pthread.c git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ thread.c | 4 ---- thread_pthread.c | 6 +++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7992709b88..0d8ebb1092 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 17 12:53:07 2012 Yuki Yugui Sonoda + + * thread.c, thread_pthread.c: Moved pthread-specific preprocessor + hacks to thread_pthread.c + Thu May 17 12:18:47 2012 Yuki Yugui Sonoda * io.c: Fix a mistake on merging the patch in the previous commit. diff --git a/thread.c b/thread.c index ccf350eee6..800159bee7 100644 --- a/thread.c +++ b/thread.c @@ -3303,9 +3303,7 @@ mutex_free(void *ptr) if (err) rb_bug("%s", err); } native_mutex_destroy(&mutex->lock); -#ifdef HAVE_PTHREAD_COND_INITIALIZE native_cond_destroy(&mutex->cond); -#endif } ruby_xfree(ptr); } @@ -3340,9 +3338,7 @@ mutex_alloc(VALUE klass) obj = TypedData_Make_Struct(klass, rb_mutex_t, &mutex_data_type, mutex); native_mutex_initialize(&mutex->lock); -#ifdef HAVE_PTHREAD_COND_INITIALIZE native_cond_initialize(&mutex->cond, RB_CONDATTR_CLOCK_MONOTONIC); -#endif return obj; } diff --git a/thread_pthread.c b/thread_pthread.c index 61b93e1edf..05a6af2a45 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -245,6 +245,7 @@ int pthread_condattr_init(pthread_condattr_t *attr); static void native_cond_initialize(rb_thread_cond_t *cond, int flags) { +#ifdef HAVE_PTHREAD_COND_INITIALIZE int r; pthread_condattr_t attr; @@ -266,15 +267,18 @@ native_cond_initialize(rb_thread_cond_t *cond, int flags) } return; - } +#endif +} static void native_cond_destroy(rb_thread_cond_t *cond) { +#ifdef HAVE_PTHREAD_COND_INITIALIZE int r = pthread_cond_destroy(&cond->cond); if (r != 0) { rb_bug_errno("pthread_cond_destroy", r); } +#endif } #endif