diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2017-02-15 22:35:52 +0200 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2017-02-15 22:35:52 +0200 |
| commit | 96fad648096614c13e784f11f0e90a583e567de1 (patch) | |
| tree | 24931f887bc29764a2db1b1ed09b5a7b268d16c8 /src/misc.c | |
| parent | d94ae26d161be87c58906dac10519e8156469923 (diff) | |
| download | mqtt-96fad648096614c13e784f11f0e90a583e567de1.tar.gz mqtt-96fad648096614c13e784f11f0e90a583e567de1.zip | |
Make the code compile using MinGW
- implemented GetCurrentTime() for Windows
- had to rename GetCurrentTime() to MqttGetCurrentTime() because of name
clashes
- setup headers correctly
Diffstat (limited to 'src/misc.c')
| -rw-r--r-- | src/misc.c | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -4,9 +4,23 @@ #include <time.h> #if defined(_WIN32) -#error GetCurrentTime implementation missing +#include "win32.h" +int64_t MqttGetCurrentTime() +{ + static volatile long once = 0; + static LARGE_INTEGER frequency; + LARGE_INTEGER counter; + if (InterlockedCompareExchange(&once, 1, 0) == 0) + { + QueryPerformanceFrequency(&frequency); + } + QueryPerformanceCounter(&counter); + counter.QuadPart *= 1000; + counter.QuadPart /= frequency.QuadPart; + return counter.QuadPart; +} #else -int64_t GetCurrentTime() +int64_t MqttGetCurrentTime() { struct timespec t; |
