summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qelapsedtimer_mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qelapsedtimer_mac.cpp')
-rw-r--r--src/corelib/tools/qelapsedtimer_mac.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp
index 2aeaaa60f0..0304c68226 100644
--- a/src/corelib/tools/qelapsedtimer_mac.cpp
+++ b/src/corelib/tools/qelapsedtimer_mac.cpp
@@ -39,8 +39,12 @@
**
****************************************************************************/
+// ask for the latest POSIX, just in case
+#define _POSIX_C_SOURCE 200809L
+
#include "qelapsedtimer.h"
#include <sys/time.h>
+#include <time.h>
#include <unistd.h>
#include <mach/mach_time.h>
@@ -83,6 +87,15 @@ timeval qt_gettime() Q_DECL_NOTHROW
return tv;
}
+void qt_nanosleep(timespec amount)
+{
+ // Mac doesn't have clock_nanosleep, but it does have nanosleep.
+ // nanosleep is POSIX.1-1993
+
+ int r;
+ EINTR_LOOP(r, nanosleep(&amount, &amount));
+}
+
void QElapsedTimer::start() Q_DECL_NOTHROW
{
t1 = mach_absolute_time();