diff options
author | Sadie Powell <sadie@witchery.services> | 2024-03-18 11:13:46 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2024-03-18 11:27:10 +0000 |
commit | cb3848b7dbb7eeb809898b2fccab3ff2f0696e6e (patch) | |
tree | d40832e33a9918965869902f517837e90e752c76 /src/misc.cpp | |
parent | 753119c4a16f6dafacbeb3d98fe72133badca949 (diff) |
Use clock_gettime if it is available.
Diffstat (limited to 'src/misc.cpp')
-rw-r--r-- | src/misc.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/misc.cpp b/src/misc.cpp index d2c05da12..1984477f7 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -785,3 +785,26 @@ size_t Anope::Distance(const Anope::string &s1, const Anope::string &s2) } return costs[s2.length()]; } + +void Anope::UpdateTime() +{ +#ifdef _WIN32 + SYSTEMTIME st; + GetSystemTime(&st); + + CurTime = time(nullptr); + CurTimeNs = st.wMilliseconds; +#elif HAVE_CLOCK_GETTIME + struct timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); + + CurTime = ts.tv_sec; + CurTimeNs = ts.tv_nsec; +#else + struct timeval tv; + gettimeofday(&tv, nullptr); + + CurTime = tv.tv_sec; + CurTimeNs = tv.tv_usec * 1000; +#endif +} |