diff --git a/folly/io/async/test/TimeUtil.cpp b/folly/io/async/test/TimeUtil.cpp index 8103fcc5c3790358a7c6f5b1b1f4bbc78e0695b3..6db4964bee9964008eea1ac2efb81657759f18cf 100644 --- a/folly/io/async/test/TimeUtil.cpp +++ b/folly/io/async/test/TimeUtil.cpp @@ -22,22 +22,31 @@ #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() {