|
|
1.1 root 1: /*
2: * Copyright (c) 1983 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: */
6:
7: #ifndef lint
8: static char sccsid[] = "@(#)hertz.c 5.1 (Berkeley) 6/4/85";
9: #endif not lint
10:
11: #include <sys/time.h>
12:
13: /*
14: * discover the tick frequency of the machine
15: * if something goes wrong, we return 0, an impossible hertz.
16: */
17: #define HZ_WRONG 0
18:
19: hertz()
20: {
21: struct itimerval tim;
22:
23: tim.it_interval.tv_sec = 0;
24: tim.it_interval.tv_usec = 1;
25: tim.it_value.tv_sec = 0;
26: tim.it_value.tv_usec = 0;
27: setitimer(ITIMER_REAL, &tim, 0);
28: setitimer(ITIMER_REAL, 0, &tim);
29: if (tim.it_interval.tv_usec < 2)
30: return(HZ_WRONG);
31: return (1000000 / tim.it_interval.tv_usec);
32: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.