Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jul 2004 13:47:53 +0200
From:      Sascha Schneider <suntsu@suntsu.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   docs/69428: [patch] Wrong symbolic constant in getrusage(2) on 4.10-STABLE
Message-ID:  <E1Bnc3F-000OmW-MD@ws111.noc.celox.de>
Resent-Message-ID: <200407221150.i6MBoPwb016126@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         69428
>Category:       docs
>Synopsis:       [patch] Wrong symbolic constant in getrusage(2) on 4.10-STABLE
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 22 11:50:25 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Sascha Schneider
>Release:        FreeBSD 4.10-STABLE i386
>Organization:
>Environment:
System: FreeBSD ws111.noc.celox.de 4.10-STABLE FreeBSD 4.10-STABLE #0: Mon Jul 5 15:45:06 CEST 2004 root@ws111.noc.celox.de:/usr/obj/usr/src/sys/WS111 i386
	$FreeBSD: src/lib/libc/sys/getrusage.2,v 1.10.2.5 2001/12/14 18:34:00 ru Exp $
	$FreeBSD: src/lib/libc/gen/sysconf.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp $
	$FreeBSD: src/sys/sys/unistd.h,v 1.22.2.3 2003/11/11 07:26:33 das Exp $

>Description:
	getrusage(2) states that sysconf(_SC_CLOCK_TCK) would return the
	frequency of the statistic clock. According to sysconf(3) and
	/usr/include/sys/unistd.h this is wrong: 
	sysconf(_SC_CLK_TCK) is the way to do it.
>How-To-Repeat:
	[user@ws111] [~]$ zgrep TCK /usr/share/man/man2/getrusage.2.gz
	.Fn sysconf _SC_CLOCK_TCK
	[user@ws111] [~]$ zgrep TCK /usr/share/man/man3/sysconf.3.gz
	.It Li _SC_CLK_TCK
	[user@ws111] [~]$ zgrep TCK /usr/include/sys/unistd.h
	#define _SC_CLK_TCK
	[user@ws111] [~dc/stuff]$ cat getrusage-wrong.c
	#include <stdio.h>
	#include <unistd.h>

	int main(void)
	{
		printf("Frequency: %d\n", sysconf(_SC_CLOCK_TCK));
	}
	[user@ws111] [~dc/stuff]$ make getrusage-wrong
	cc -O -pipe -march=pentium  getrusage-wrong.c  -o getrusage-wrong
	getrusage-wrong.c: In function `main':
	getrusage-wrong.c:6: `_SC_CLOCK_TCK' undeclared (first use in this function)
	getrusage-wrong.c:6: (Each undeclared identifier is reported only once
	getrusage-wrong.c:6: for each function it appears in.)
	*** Error code 1

	Stop in /home/user/development/c/stuff.
	[user@ws111] [~dc/stuff]$ cat getrusage-right.c
	#include <stdio.h>
	#include <unistd.h>

	int main(void)
	{
		printf("Frequency: %d\n", sysconf(_SC_CLK_TCK));
	}
	[user@ws111] [~dc/stuff]$ make getrusage-right
	cc -O -pipe -march=pentium  getrusage-right.c  -o getrusage-right
	[user@ws111] [~dc/stuff]$ ./getrusage-right
	Frequency: 128


>Fix:
patch patch-getrusage.2 attached.
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1Bnc3F-000OmW-MD>