diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-31 18:58:32 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-31 18:58:32 +0000 |
commit | 13463af29f1fd904cc0ea5e0bd0acdabd8431e53 (patch) | |
tree | 9ec9a96df5df0ee33bb5e31f89f9407d8cf48396 /networking/libiproute/iproute.c | |
parent | 98ee06d3d46aa7f89c204681c7075b53300a6a6e (diff) |
remove commented out #includes etc
move get_hz to the only caller
Diffstat (limited to 'networking/libiproute/iproute.c')
-rw-r--r-- | networking/libiproute/iproute.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c index bf6f95f61..acb5169a4 100644 --- a/networking/libiproute/iproute.c +++ b/networking/libiproute/iproute.c @@ -57,6 +57,28 @@ static int flush_update(void) return 0; } +static int get_hz(void) +{ + static int hz_internal; + FILE *fp; + + if (hz_internal) + return hz_internal; + + fp = fopen("/proc/net/psched", "r"); + if (fp) { + unsigned nom, denom; + + if (fscanf(fp, "%*08x%*08x%08x%08x", &nom, &denom) == 2) + if (nom == 1000000) + hz_internal = denom; + fclose(fp); + } + if (!hz_internal) + hz_internal = sysconf(_SC_CLK_TCK); + return hz_internal; +} + static int print_route(struct sockaddr_nl *who ATTRIBUTE_UNUSED, struct nlmsghdr *n, void *arg) { |