Support TimeUtil under MSVC
authorChristopher Dykes <cdykes@fb.com>
Thu, 4 Aug 2016 17:49:23 +0000 (10:49 -0700)
committerFacebook Github Bot 5 <facebook-github-bot-5-bot@fb.com>
Thu, 4 Aug 2016 17:54:01 +0000 (10:54 -0700)
Summary: Well, make it compile anyways. There's no simple equivelant for Windows, so just return 0 instead.

Reviewed By: yfeldblum

Differential Revision: D3667474

fbshipit-source-id: 02224c6666dfcfdec237bfbbd4714170407a952a

folly/io/async/test/TimeUtil.cpp

index 8103fcc5c3790358a7c6f5b1b1f4bbc78e0695b3..6db4964bee9964008eea1ac2efb81657759f18cf 100644 (file)
 #include <folly/Conv.h>
 #include <folly/portability/SysSyscall.h>
 #include <folly/portability/Unistd.h>
+#include <folly/portability/Windows.h>
 
 #include <chrono>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <sys/utsname.h>
 #include <errno.h>
 #include <glog/logging.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdexcept>
 
+#ifndef _MSC_VER
+#include <sys/utsname.h>
+#endif
+
 using std::string;
 using namespace std::chrono;
 
 namespace folly {
 
+#ifdef _MSC_VER
+static pid_t gettid() {
+  return pid_t(GetCurrentThreadId());
+}
+#else
 /**
  * glibc doesn't provide gettid(), so define it ourselves.
  */
@@ -105,6 +114,7 @@ static int64_t determineJiffiesHZ() {
 
   return hz;
 }
+#endif
 
 /**
  * Determine how long this process has spent waiting to get scheduled on the
@@ -114,6 +124,9 @@ static int64_t determineJiffiesHZ() {
  * time cannot be determined.
  */
 static milliseconds getTimeWaitingMS(pid_t tid) {
+#ifdef _MSC_VER
+  return milliseconds(0);
+#else
   static int64_t jiffiesHZ = 0;
   if (jiffiesHZ == 0) {
     jiffiesHZ = determineJiffiesHZ();
@@ -168,6 +181,7 @@ static milliseconds getTimeWaitingMS(pid_t tid) {
     LOG(ERROR) << "error determining process wait time: %s" << e.what();
     return milliseconds(0);
   }
+#endif
 }
 
 void TimePoint::reset() {