summaryrefslogtreecommitdiff
path: root/package/tcl/patches/patch-unix_tclUnixTime_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/tcl/patches/patch-unix_tclUnixTime_c')
-rw-r--r--package/tcl/patches/patch-unix_tclUnixTime_c39
1 files changed, 39 insertions, 0 deletions
diff --git a/package/tcl/patches/patch-unix_tclUnixTime_c b/package/tcl/patches/patch-unix_tclUnixTime_c
new file mode 100644
index 000000000..e0334126f
--- /dev/null
+++ b/package/tcl/patches/patch-unix_tclUnixTime_c
@@ -0,0 +1,39 @@
+--- tcl8.5.8.orig/unix/tclUnixTime.c 2008-04-14 19:49:59.000000000 +0200
++++ tcl8.5.8/unix/tclUnixTime.c 2011-01-13 15:59:00.000000000 +0100
+@@ -164,12 +164,6 @@ TclpGetWideClicks(void)
+
+ (*tclGetTimeProcPtr) (&time, tclTimeClientData);
+ now = (Tcl_WideInt) (time.sec*1000000 + time.usec);
+- } else {
+-#ifdef MAC_OSX_TCL
+- now = (Tcl_WideInt) (mach_absolute_time() & INT64_MAX);
+-#else
+-#error Wide high-resolution clicks not implemented on this platform
+-#endif
+ }
+
+ return now;
+@@ -200,23 +194,6 @@ TclpWideClicksToNanoseconds(
+
+ if (tclGetTimeProcPtr != NativeGetTime) {
+ nsec = clicks * 1000;
+- } else {
+-#ifdef MAC_OSX_TCL
+- static mach_timebase_info_data_t tb;
+- static uint64_t maxClicksForUInt64;
+-
+- if (!tb.denom) {
+- mach_timebase_info(&tb);
+- maxClicksForUInt64 = UINT64_MAX / tb.numer;
+- }
+- if ((uint64_t) clicks < maxClicksForUInt64) {
+- nsec = ((uint64_t) clicks) * tb.numer / tb.denom;
+- } else {
+- nsec = ((long double) (uint64_t) clicks) * tb.numer / tb.denom;
+- }
+-#else
+-#error Wide high-resolution clicks not implemented on this platform
+-#endif
+ }
+
+ return nsec;