From owner-cvs-all Tue Sep 28 11:39:45 1999 Delivered-To: cvs-all@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id D494614E9F; Tue, 28 Sep 1999 11:39:39 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from d214.syd2.zeta.org.au (beefcake.zeta.org.au [203.26.10.12]) by mailman.zeta.org.au (8.8.7/8.8.7) with ESMTP id EAA01608; Wed, 29 Sep 1999 04:37:52 +1000 Date: Wed, 29 Sep 1999 04:37:01 +1000 (EST) From: Bruce Evans X-Sender: bde@alphplex.bde.org To: Garrett Wollman Cc: Peter Wemm , Marcel Moolenaar , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/gen getcwd.c In-Reply-To: <199909281607.MAA14467@khavrinen.lcs.mit.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk On Tue, 28 Sep 1999, Garrett Wollman wrote: > < said: > > > Hmm.. my experience on other systems suggests sigactions should be > > pre-bzeroed (or memset) for portability reasons. This is required on some > > OS's as there are hidden fields in there, and doesn't require modifying the > > whole tree when a new field is added or changed to struct sigaction. > > Those other systems are broken. POSIX requires that only those fields > defined by the standard need be initialized. Any other fields in Unfortunately, it seems to only require that "Nonstandard extensions ... should be identified as such in the system documentation" and for the system to provide an environment where plain POSIX applies (POSIX.1- 1996 section 1.3.1.1 (2)). > struct sigaction must be ignored unless an implementation-specific > flag is set by the application. (Hence, when POSIX.1b added I can't find anywhere where POSIX.1-1996 requires such a flag. I didn't check the rationale. The nonstandard extensions may require the nonstandard fields to be filled with nonzero values. Using bzero() just guarantees breakage on such systems. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message