HP-UX doesn't suport CLOCK_MONOTONIC but we can use gethrtime() instead.

This commit is contained in:
Todd C. Miller
2018-08-20 10:56:34 -06:00
parent 5cca421867
commit df1c062526
4 changed files with 40 additions and 10 deletions

View File

@@ -111,6 +111,18 @@ sudo_gettime_mono_v1(struct timespec *ts)
}
debug_return_int(0);
}
#elif defined(HAVE_GETHRTIME)
int
sudo_gettime_mono_v1(struct timespec *ts)
{
hrtime_t nsec;
debug_decl(sudo_gettime_mono, SUDO_DEBUG_UTIL)
nsec = gethrtime();
ts->tv_sec = nsec / 1000000000;
ts->tv_nsec = nsec % 1000000000;
debug_return_int(0);
}
#elif defined(__MACH__)
int
sudo_gettime_mono_v1(struct timespec *ts)
@@ -167,6 +179,19 @@ sudo_gettime_awake_v1(struct timespec *ts)
}
debug_return_int(0);
}
#elif defined(HAVE_GETHRTIME)
int
sudo_gettime_awake_v1(struct timespec *ts)
{
hrtime_t nsec;
debug_decl(sudo_gettime_awake, SUDO_DEBUG_UTIL)
/* Currently the same as sudo_gettime_mono() */
nsec = gethrtime();
ts->tv_sec = nsec / 1000000000;
ts->tv_nsec = nsec % 1000000000;
debug_return_int(0);
}
#elif defined(__MACH__)
int
sudo_gettime_awake_v1(struct timespec *ts)