From owner-freebsd-hackers Fri Oct 11 1:43:34 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 921CD37B401; Fri, 11 Oct 2002 01:43:32 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DE1343EB3; Fri, 11 Oct 2002 01:43:31 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id SAA11085; Fri, 11 Oct 2002 18:43:23 +1000 Date: Fri, 11 Oct 2002 18:53:35 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Terry Lambert Cc: Craig Rodrigues , , Subject: Re: Problem detecting POSIX symbolic constants In-Reply-To: <3DA5D741.FB59AE1B@mindspring.com> Message-ID: <20021011184643.U12170-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, 10 Oct 2002, Terry Lambert wrote: > Bruce Evans wrote: > > _POSIX_REALTIME_SIGNALS is undefined: > > Apparently the same as when it is defined to 0, except you cannot assume > > that anything related to it works until you call sysconf(), so you must > > not reference its interfaces statically, and must use a dll or something > > that references it. The dll is presumably available on systems that > > support it but not (except possibly a dummy version) on systems that > > don't support it. > > > > I think the case where the symbol is undefined should never be implemented > > in practice. It can be reduced to the case where the symbol is 0 using > > dynamic linkage with the complications for linkage not visible to the > > application. > > I think you will have to go back in time, for this to happen. As > things stand today, there are systems where it's undefined that > were implemented before the symbol was a twinkle in some feature-test > weenie on the POSIX committee's eye. _POSIX_REALTIME_SIGNALS is only valid in versions of POSIX that support it. Applications must also conditionalize on _POSIX_VERSION if they want to check for features that are not in all versions. Runtime configuration only lets us go forward in time. An application might use POSIX realtime features if they are available and magically start working better (without recompiling anything in the application) when the OS and/or library implementors get around to implementing the features. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message