diff options
Diffstat (limited to 'lang/ruby19-base/patches/patch-as')
-rw-r--r-- | lang/ruby19-base/patches/patch-as | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lang/ruby19-base/patches/patch-as b/lang/ruby19-base/patches/patch-as new file mode 100644 index 00000000000..5e023ec0f18 --- /dev/null +++ b/lang/ruby19-base/patches/patch-as @@ -0,0 +1,39 @@ +$NetBSD: patch-as,v 1.1.1.1 2010/09/12 03:50:06 taca Exp $ + +Handle 64bit size of time_t. + +--- thread_pthread.c.orig 2010-07-22 13:13:57.000000000 +0000 ++++ thread_pthread.c +@@ -17,6 +17,12 @@ + #include <sys/resource.h> + #endif + ++#if SIZEOF_TIME_T == 8 ++#define FMT_TIME_T "lld" ++#else ++#define FMT_TIME_T "ld" ++#endif ++ + static void native_mutex_lock(pthread_mutex_t *lock); + static void native_mutex_unlock(pthread_mutex_t *lock); + static int native_mutex_trylock(pthread_mutex_t *lock); +@@ -620,7 +626,7 @@ native_sleep(rb_thread_t *th, struct tim + } + } + +- thread_debug("native_sleep %ld\n", tv ? tv->tv_sec : -1); ++ thread_debug("native_sleep %" FMT_TIME_T "\n", tv ? tv->tv_sec : -1); + GVL_UNLOCK_BEGIN(); + { + pthread_mutex_lock(&th->interrupt_lock); +@@ -642,8 +648,8 @@ native_sleep(rb_thread_t *th, struct tim + } + else { + int r; +- thread_debug("native_sleep: pthread_cond_timedwait start (%ld, %ld)\n", +- (unsigned long)ts.tv_sec, ts.tv_nsec); ++ thread_debug("native_sleep: pthread_cond_timedwait start (%" ++ FMT_TIME_T ", %ld)\n", ts.tv_sec, ts.tv_nsec); + r = pthread_cond_timedwait(&th->native_thread_data.sleep_cond, + &th->interrupt_lock, &ts); + if (r && r != ETIMEDOUT) rb_bug_errno("pthread_cond_timedwait", r); |