aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--thread_pthread.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a0831585b1..96bc5bc74d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Nov 7 22:42:23 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * thread_pthread.c (thread_timer): initializes mutex each time.
+
Fri Nov 7 21:23:02 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* thread_win32.c (thread_start_func_1): use already gotten stack info.
diff --git a/thread_pthread.c b/thread_pthread.c
index e73879119a..c49efb3388 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -669,8 +669,9 @@ static void *
thread_timer(void *dummy)
{
struct timespec ts;
- static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+ pthread_mutex_t lock;
+ pthread_mutex_initializer(&lock, 0);
pthread_mutex_lock(&lock);
#define WAIT_FOR_10MS() (pthread_cond_timedwait(&timer_thread_cond, &lock, get_ts(&ts, PER_NANO/100)) == ETIMEDOUT)
while (WAIT_FOR_10MS()) {