diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | thread.c | 4 | ||||
-rw-r--r-- | thread_pthread.c | 6 |
3 files changed, 10 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Thu May 17 12:53:07 2012 Yuki Yugui Sonoda <yugui@google.com> + + * thread.c, thread_pthread.c: Moved pthread-specific preprocessor + hacks to thread_pthread.c + Thu May 17 12:18:47 2012 Yuki Yugui Sonoda <yugui@google.com> * io.c: Fix a mistake on merging the patch in the previous commit. @@ -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 |