diff --git a/lib/cpp/src/concurrency/Util.cpp b/lib/cpp/src/concurrency/Util.cpp
new file mode 100644
index 0000000..eeee0e5
--- /dev/null
+++ b/lib/cpp/src/concurrency/Util.cpp
@@ -0,0 +1,42 @@
+// Copyright (c) 2006- Facebook
+// Distributed under the Thrift Software License
+//
+// See accompanying file LICENSE or visit the Thrift site at:
+// http://developers.facebook.com/thrift/
+
+#include "Util.h"
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#if defined(HAVE_CLOCK_GETTIME)
+#include <time.h>
+#elif defined(HAVE_GETTIMEOFDAY)
+#include <sys/time.h>
+#endif // defined(HAVE_CLOCK_GETTIME)
+
+namespace facebook { namespace thrift { namespace concurrency {
+
+const int64_t Util::currentTime() {
+  int64_t result;
+
+#if defined(HAVE_CLOCK_GETTIME)
+  struct timespec now;
+  int ret = clock_gettime(CLOCK_REALTIME, &now);
+  assert(ret == 0);
+  toMilliseconds(result, now);
+#elif defined(HAVE_GETTIMEOFDAY)
+  struct timeval now;
+  int ret = gettimeofday(&now, NULL);
+  assert(ret == 0);
+  toMilliseconds(result, now);
+#else
+#error "No high-precision clock is available."
+#endif // defined(HAVE_CLOCK_GETTIME)
+
+  return result;
+}
+
+
+}}} // facebook::thrift::concurrency
diff --git a/lib/cpp/src/concurrency/Util.h b/lib/cpp/src/concurrency/Util.h
index 4031be0..483d14a 100644
--- a/lib/cpp/src/concurrency/Util.h
+++ b/lib/cpp/src/concurrency/Util.h
@@ -7,17 +7,11 @@
 #ifndef _THRIFT_CONCURRENCY_UTIL_H_
 #define _THRIFT_CONCURRENCY_UTIL_H_ 1
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
 #include <assert.h>
 #include <stddef.h>
-#if defined(HAVE_CLOCK_GETTIME)
+#include <stdint.h>
 #include <time.h>
-#else // defined(HAVE_CLOCK_GETTIME)
 #include <sys/time.h>
-#endif // defined(HAVE_CLOCK_GETTIME)
 
 namespace facebook { namespace thrift { namespace concurrency {
 
@@ -86,24 +80,7 @@
   /**
    * Get current time as milliseconds from epoch
    */
-  static const int64_t currentTime() {
-    int64_t result;
-
-#if defined(HAVE_CLOCK_GETTIME)
-    struct timespec now;
-    int ret = clock_gettime(CLOCK_REALTIME, &now);
-    assert(ret == 0);
-    toMilliseconds(result, now);
-#elif defined(HAVE_GETTIMEOFDAY)
-    struct timeval now;
-    int ret = gettimeofday(&now, NULL);
-    assert(ret == 0);
-    toMilliseconds(result, now);
-#endif // defined(HAVE_GETTIMEDAY)
-
-    return result;
-  }
-
+  static const int64_t currentTime();
 };
 
 }}} // facebook::thrift::concurrency
