diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | thread_pthread.c | 3 |
2 files changed, 6 insertions, 1 deletions
@@ -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()) { |