Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jan 2003 14:50:28 -0700
From:      Ben Mesander <ben@timing.com>
To:        Warner Losh <imp@harmony.village.org>
Cc:        Daniel Eischen <eischen@pcnet1.pcnet.com>, ben@timing.com, freebsd-arch@FreeBSD.ORG
Subject:   Re: _REENTRANT in math.h & libm oddities. 
Message-ID:  <15920.25508.766136.494182@piglet.timing.com>
In-Reply-To: <200301232122.h0NLM31e003077@harmony.village.org>
References:  <Pine.GSO.4.10.10301231601440.12720-100000@pcnet1.pcnet.com> <200301232122.h0NLM31e003077@harmony.village.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh writes:
 > In message <Pine.GSO.4.10.10301231601440.12720-100000@pcnet1.pcnet.com> Daniel Eischen writes:
 > : The gcc manpage is wrong.  It should state _REENTRANT instead of
 > : _THREAD_SAFE.  POSIX specifies that _REENTRANT be defined to get
 > : these functions.  I know that we always provide implementations
 > : of most of these _r functions so it might not make sense to
 > : #ifdef them in the header files, but I don't know that always
 > : making them visible would be against the spec or cause namespace
 > : pollution.
 > 
 > Then FreeBSD's source tree is basically wrong, since it uses
 > _THREAD_SAFE for this in many places.  But most of them appear to be
 > just defining the macro for compiles and such.  There's a little bit
 > in libc's stdio still, but that's the only significant place that uses
 > it in the tree.  I'm not sure about out-of-tree software.

Lots of things for various UNIX flavors seem to use _REENTRANT (see
contrib & ports for examples).

But even so, I disagree that the _r function definitions should only
appear in math.h if _REENTRANT is defined. That is, I disagree unless
the POSIX specification says otherwise; I've been surprised by it
before. I was unaware that POSIX mentioned _REENTRANT.

You can call _r functions even if you are not a threaded application.
Other _r functions in libc, etc. can be called even if you are not
threaded; I don't see why the gamma functions in the math library would 
be different.

Regards,
Ben

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15920.25508.766136.494182>