You've already forked libopenshot
mirror of
https://github.com/OpenShot/libopenshot.git
synced 2026-03-02 08:53:52 -08:00
Check in code to handle missing clock_gettime() on most versions of Mac OS X
This commit is contained in:
@@ -41,6 +41,12 @@
|
||||
#include <zmq.hpp>
|
||||
#include <unistd.h>
|
||||
|
||||
// OS X does not have clock_gettime, use clock_get_time (https://gist.github.com/jbenet/1087739)
|
||||
#ifdef __MACH__
|
||||
#include <mach/clock.h>
|
||||
#include <mach/mach.h>
|
||||
#endif
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
@@ -179,7 +179,17 @@ void ZmqLogger::AppendDebugMethod(string method_name, string arg1_name, float ar
|
||||
|
||||
// Prepend current time (hires) to message
|
||||
struct timespec ts;
|
||||
#ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time (https://gist.github.com/jbenet/1087739)
|
||||
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
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
#endif
|
||||
char timebuf[80];
|
||||
strftime(timebuf, sizeof timebuf, "%F %T", localtime(&ts.tv_sec));
|
||||
message << timebuf << "." << std::setiosflags(std::ios::right) << std::setw(9) << std::setfill('0') << ts.tv_nsec << " ";
|
||||
|
||||
Reference in New Issue
Block a user