summaryrefslogtreecommitdiff
path: root/lang/ruby19-base/patches/patch-as
blob: 5e023ec0f1865c5913259a8940fd2219b8c64f6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);