summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--thread.c4
-rw-r--r--thread_pthread.c6
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 <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.
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