*BSD News Article 12644


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!uunet!news.claremont.edu!ucivax!ucla-cs!twinsun!eggert
From: eggert@twinsun.com (Paul Eggert)
Subject: Re: cvs 1.3 bugfix
Message-ID: <blzf!oQi@twinsun.com>
Sender: usenet@twinsun.com
Nntp-Posting-Host: farside
Organization: Twin Sun Inc, El Segundo, CA, USA
X-Newsreader: NN version 6.4.19
References: <blv0K2^8@twinsun.com> <RICH.93Mar6233047@omicron.Rice.edu> <blwf{4xU@twinsun.com> <1993Mar9.220333.11842@fcom.cc.utah.edu>
Date: Thu, 11 Mar 1993 07:05:02 GMT
Lines: 31

terry@cs.weber.edu (Terry Lambert) writes:

	eggert@twinsun.com (Paul Eggert) writes:

		In some places, Posix requires that errors *must* be
		detected.  For example, 5.1.2.4 says that opendir()
		must detect and report EACCES-style errors.  (By
		``report'' I mean ``yield -1 and set errno''.)  But in
		other places, Posix merely says that *if* an error is
		detected, *then* it must be reported.  This is the case
		for sigismember and EINVAL-style errors.

	This is bogus; this reading implies that:

		3.3.3.3 Returns

		Upon successful completion, the sigismember() function returns
		a value of one if the specified signal is a member of a
		specified set, or a value of zero if it is not.  Upon
		successful completion, the other functions return a value of
		zero.  For all of the above functions, if an error is detected,
		a value of -1 is returned, and _errno_ is set to indicate the
		error.

	Can fail to successfully complete (thus not returning 0), but have the
	error which caused it to fail to complete reamin undetected (thus not
	returning -1).

That scenario is impossible.  It's prohibited by the following crucial
sentence in section 2.4: ``If no error condition is detected,
the action requested shall be successful.''