message: Fix clock_gettime mac
diff: #include <proc/readproc.h>
  #endif
  +#if MAC_OSX
  +#include <mach/clock.h>
  +#include <mach/mach.h>
  +#endif
  +
  namespace libff {
  long long get_nsec_time()
  @@ -40,12 +45,22 @@ long long get_nsec_cpu_time()
  {
  #if _MSC_VER
  return 0;
  +#else
  + #if MAC_OSX
  + clock_serv_t cclock;
  + mach_timespec_t mts;
  + host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
  + clock_get_time(cclock, &mts);
  + mach_port_deallocate(mach_task_self(), cclock);
  + ts.tv_sec = mts.tv_sec;
  + ts.tv_nsec = mts.tv_nsec;
  #else
  ::timespec ts;
  if ( ::clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) )
  throw ::std::runtime_error("clock_gettime(CLOCK_PROCESS_CPUTIME_ID) failed");
  // If we expected this to work, don't silently ignore failures, because that would hide the problem and incur an unnecessarily system-call overhead. So if we ever observe this exception, we should probably add a suitable #ifdef .
  //TODO: clock_gettime(CLOCK_PROCESS_CPUTIME_ID) is not supported by native Windows. What about Cygwin? Should we #ifdef on CLOCK_PROCESS_CPUTIME_ID or on __linux__?
  + #endif
  return ts.tv_sec * 1000000000ll + ts.tv_nsec;
  #endif
  }
  