Date: Tue, 5 Dec 2000 13:43:22 -0800 From: "Jonathan Graehl" <jonathan@graehl.org> To: <freebsd-hackers@freebsd.org> Subject: POSIX clock_gettime, clock_getres return errno invalid argument for CLOCK_PROF and CLOCK_VIRTUAL Message-ID: <NCBBLOALCKKINBNNEDDLOELLDHAA.jonathan@graehl.org>
next in thread | raw e-mail | index | archive | help
The resolution (clock_getres) of CLOCK_REALTIME is 783 ns on my 4.2-STABLE/Pentium 2. Is there a more accurate timer available? (clearly, gettimeofday is limited to 1000ns resolution ;) (submitted pr follows) While there is no problem with CLOCK_REALTIME, POSIX clock_gettime, clock_getres return errno invalid argument for CLOCK_PROF and CLOCK_VIRTUAL, which are documented in the man pages (section 2) as being user+system and user time, respectively. FreeBSD 3jane 4.2-STABLE FreeBSD 4.2-STABLE #0: Sat Dec 2 14:46:10 PST 2000 root@3jane:/ext/obj/usr/src/sys/NEWJANE i386 /* demonstrates that the clock_get... calls succed for CLOCK_REALTIME but fail for CLOCK_PROF and CLOCK_VIRTUAL */ #include <sys/time.h> #include <stdio.h> int main() { struct timespec t; puts("CLOCK_PROF"); if (clock_gettime(CLOCK_PROF, &t)) perror(NULL); if (clock_getres(CLOCK_PROF, &t)) perror(NULL); puts("\nCLOCK_VIRTUAL"); if (clock_gettime(CLOCK_VIRTUAL, &t)) perror(NULL); if (clock_getres(CLOCK_VIRTUAL, &t)) perror(NULL); puts("\nCLOCK_REALTIME"); if (clock_gettime(CLOCK_REALTIME, &t)) perror(NULL); if (clock_getres(CLOCK_REALTIME, &t)) perror(NULL); } Immediate fix: remove mention of CLOCK_VIRTUAL AND CLOCK_PROF from sys/time.h and man 2 clock_gettime Real fix: implement the documented POSIX functionality To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?NCBBLOALCKKINBNNEDDLOELLDHAA.jonathan>