richard@araminta:~$ cat t.c
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include <assert.h>
int main(void) {
for(;;) {
time_t t;
struct timeval tv;
assert(gettimeofday(&tv, NULL) == 0);
assert(time(&t) != (time_t)-1);
if(t < tv.tv_sec)
return printf("%ld %ld.%06ld\n", t, tv.tv_sec, tv.tv_usec);
}
}
richard@araminta:~$ gcc -o t t.c
richard@araminta:~$ ./t
1255784018 1255784019.000000
richard@araminta:~$ uname -a
Linux araminta 2.6.26-2-xen-amd64 #1 SMP Thu Aug 20 00:36:34 UTC 2009 x86_64 GNU/Linux
richard@araminta:~$ dpkg -l libc6\*|grep ^i
ii libc6 2.7-18 GNU C Library: Shared libraries
ii libc6-dbg 2.7-18 GNU C Library: Libraries with debugging symb
ii libc6-dev 2.7-18 GNU C Library: Development Libraries and Hea
ii libc6-dev-i386 2.7-18 GNU C Library: 32bit development libraries f
ii libc6-i386 2.7-18 GNU C Library: 32bit shared libraries for AM
ii libc6-prof 2.7-18 GNU C Library: Profiling Libraries
richard@araminta:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 2397.654
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu de tsc msr pae cx8 apic sep mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good pni ssse3 cx16 lahf_lm
bogomips : 4801.28
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
<etc etc etc>