Call for testing: OpenSSH-6.3
Darren Tucker
dtucker at zip.com.au
Sat Aug 3 18:41:58 EST 2013
On Sat, Aug 3, 2013 at 5:58 PM, Damien Miller <djm at mindrot.org> wrote:
>> Looking at failure logs - this is what's killing it:
>> clock_gettime: Invalid argument
[...]
> Maybe these platforms lack CLOCK_MONOTONIC? Darren, perhaps we should
> wrap clock_gettime and have a fallback for platforms that lack this?
I thought we did. We check for clock_gettime in configure, and misc.c has:
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
[...] clock_getttime [...]
#else
return time(NULL);
#endif
So the fact that it compiled means that CLOCK_MONOTONIC is in the
headers, but the fact that it failed at runtime indicates that it's
not actually implemented.
Kevin, could you please try this test program on the problem system?
You'll probably need to compile it with -lrt.
#include <errno.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
struct timespec ts;
int r = clock_gettime(CLOCK_MONOTONIC, &ts);
printf("%d %d %ld\n", r, errno, (long)ts.tv_sec);
}
We could add a runtime fallback in misc.c:monotime() but it'd be kinda ugly.
--
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69
Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.
More information about the openssh-unix-dev
mailing list