From owner-freebsd-standards@FreeBSD.ORG Mon Apr 19 02:29:11 2010 Return-Path: Delivered-To: standards@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FEFD106566B for ; Mon, 19 Apr 2010 02:29:11 +0000 (UTC) (envelope-from yanefbsd@gmail.com) Received: from mail-qy0-f199.google.com (mail-qy0-f199.google.com [209.85.221.199]) by mx1.freebsd.org (Postfix) with ESMTP id C8EFC8FC1D for ; Mon, 19 Apr 2010 02:29:10 +0000 (UTC) Received: by qyk37 with SMTP id 37so3887462qyk.8 for ; Sun, 18 Apr 2010 19:29:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=hCkvdPMo+OqoSbNz/WGAn4qGxbK9DCd3ocUJUYOKU24=; b=kd7VdfRB8oB+zVg6M0Wk7EVA30QXqrWwevigyM/aMIBi/XMXNFpGgCKmPTaFr8PnXI 132qEmN72QqBNdM3SfsaCP4Ewrcms6Q8eiaeD+peI+8WkhaOLdE1z/nsXiIojXzOTRHH /vRxICX9uVzzK3i5CbSgeM8q2/PWLavhQtTD8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=wHkFH2MBIR60J07OZ8hux/7ZC4lmEnBJmbHHo7lF1rC2e/wNxDDbFb6iYeyFuUABkL 2lHPFtxgToczi/cVKBVG8CJlb4l7nDejcuEa6jel+Sfes070jHQ98ugtYZFpV6SsjJS/ NVAcA4xZAeuIfRGbkMUcTCSFU5GAw5n8FnUDQ= MIME-Version: 1.0 Received: by 10.229.28.85 with HTTP; Sun, 18 Apr 2010 19:29:09 -0700 (PDT) In-Reply-To: <19398.2606.92468.700955@khavrinen.csail.mit.edu> References: <19398.2606.92468.700955@khavrinen.csail.mit.edu> Date: Sun, 18 Apr 2010 19:29:09 -0700 Received: by 10.229.238.70 with SMTP id kr6mr6008630qcb.49.1271644149328; Sun, 18 Apr 2010 19:29:09 -0700 (PDT) Message-ID: From: Garrett Cooper To: Garrett Wollman Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: standards@freebsd.org Subject: Re: Non-POSIX compliant portions of FreeBSD X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2010 02:29:11 -0000 On Wed, Apr 14, 2010 at 11:32 AM, Garrett Wollman w= rote: > < = said: > >> =A0 =A0 I was recently piqued by Warner to look into open_posix_testsuit= e, >> and I've noticed that there are some discrepancies in our compliance >> with POSIX standards: > > Please take note of the broad variety of options in the POSIX > specification. =A0There are many options which we do not implement, > either because they are bad ideas (e.g., XSI, tracing), or because > nobody has gotten around to implementing them (e.g., synchronous > I/O). =A0A correct application will check (using getconf(1), sysconf(3), > or both) whether the interface it desires is available before > attempting to use it. =A0A broken application will use autoconf. autoconf is pretty foolhardy, unless one's checking to make sure that a function or struct conforms to the POSIX spec (I've seen that before...). >> 1. We don't implement any of the pieces in errno.h relating to POSIX >> STREAMs (I assume this is intentional?). > > It is intentional. > >> 2. We don't define daylight or timezone in time.h - >> http://www.opengroup.org/onlinepubs/009695399/basedefs/time.h.html > > This interface is broken as designed and impossible to implement > correctly. =A0The POSIX "timezone" interface conflicts with the > traditional BSD "timezone" interface (which is also broken as > designed) and I don't think anyone has ever done the work to > disentangle this particular mess. Yeah... I assume that the same thing is true for tzname. >> 3. We don't define SIGPOLL - >> http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html > > Marked as OB (obsolete), XSR (STREAMS interface). Where does it say obsolete? >> 4. We don't define SCHED_SPORADIC and friends - >> http://www.opengroup.org/onlinepubs/000095399/basedefs/sched.h.html >> 5. We don't define the sched_param struct =A0- >> http://www.opengroup.org/onlinepubs/000095399/basedefs/sched.h.html > > Marked as SS | TPS (options we don't implement). 4. Is SS|TPS, but 5. isn't listed with any clauses. >> 6. We don't define bsd_signal (snickers) - >> http://www.opengroup.org/onlinepubs/000095399/functions/bsd_signal.html > > Interface removed in SUSv7 (along with bcmp, bcopy, bzero, ecvt, fcvt, > ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno, > index, makecontext, mktemp, pthread_attr_[gs]etstackaddr, rindex, > scalb, setcontext, swapcontext, ualarm, usleep, vfork, and wcswcs). Ok. >> 7. We don't have clock_nanosleep, clock_getcpuclockid, or getdate >> defined using the POSIX defined headers. > > POSIX_CLOCK_SELECTION option group. Thanks, -Garrett