From owner-cvs-all Sat Nov 16 23:24:20 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0534337B401; Sat, 16 Nov 2002 23:24:19 -0800 (PST) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5AC8543E91; Sat, 16 Nov 2002 23:24:18 -0800 (PST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id gAH7OHen000625 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sun, 17 Nov 2002 02:24:17 -0500 (EST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id gAH7OHkQ000622; Sun, 17 Nov 2002 02:24:17 -0500 (EST) (envelope-from wollman) Date: Sun, 17 Nov 2002 02:24:17 -0500 (EST) From: Garrett Wollman Message-Id: <200211170724.gAH7OHkQ000622@khavrinen.lcs.mit.edu> To: Alfred Perlstein Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern vfs_aio.c src/lib/libc/gen sysconf.c src/sys/posix4 posix4.h posix4_mib.c In-Reply-To: <20021117070309.GH6882@elvis.mu.org> References: <200211170415.gAH4FYwL022645@repoman.freebsd.org> <200211170657.gAH6vQ7G000452@khavrinen.lcs.mit.edu> <20021117070309.GH6882@elvis.mu.org> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG < said: > In the future when I come to you for advice I'd really appreciate it > if you'd attempt to think one step ahead of me, especially if you have > strong opinions on how something should be done. Well, I thought it was pretty clear that the whole thing with the array was just an utter kluge. > I think part of the problem was that posix4 was optional before, > with it now manditory I think I can just SYSCTL_DECL the p31b > top of tree and move the relevant branches directly into the > aio code. I'm not certain that I understand what you're suggesting. All of the interfaces introduced in 1003.1b are still optional (from a POSIX perspective). When they are not available in the running kernel, the relevant sysctl()s should just fail, rather than going to some effort to return a wrong answer. The only trick to this is that it is necessary to distinguish between options (for which sysconf() must return either 0 or -1 if the option is not supported) and option-dependent configuration variables (for which sysconf() may and probably should indicate [EINVAL]). This is similar to, but not quite the same as, the distinction between `goto yesno' and `break' in sysconf.c. (These MIB variables should never have been given their own MIB tree, and the naming of the MIB tree and the `posix4' directory and header file are quite unfortunate. posix4_mib.c should eventually disappear, but we do seem to be stuck with just for the definitions of the CTL_P1003_1B_* constants. Grumble.) -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message