Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Mar 2002 21:40:07 -0500
From:      Craig Rodrigues <crodrigu@bbn.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: How to correctly detect POSIX 1003.1b features on FreeBSD?
Message-ID:  <20020312214007.A2526@bbn.com>
In-Reply-To: <3C8EB31E.19382903@mindspring.com>; from tlambert2@mindspring.com on Tue, Mar 12, 2002 at 06:02:06PM -0800
References:  <20020312140904.A799@bbn.com> <3C8E742C.7C2E63B8@mindspring.com> <20020312193514.A2226@bbn.com> <20020313005940.GB32410@elvis.mu.org> <20020312201314.A2345@bbn.com> <3C8EB31E.19382903@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 12, 2002 at 06:02:06PM -0800, Terry Lambert wrote:
> I told you twice already:

I got the e-mail from Albert Perlstein telling me to check
__FreeBSD_Version before I got your e-mail telling me to
check for _POSIX_REALTIME_SIGNALS.

Sorry for the cross-traffic.

> 
> 	#ifdef _POSIX_REALTIME_SIGNALS
> 
> or
> 
> 	#if defined(_POSIX_REALTIME_SIGNALS) && defined(SIGRTMIN)
> 
> Isn't this covered in the reference where you are finding the
> definition of these functions so that you are able to even know
> how to call them correctly in the first place?  

No it is not covered.  My reference has been the posix4(9) man page,
and <signal.h> which is available on FreeBSD 4.3.

I am a contributor to ACE, a cross-platform C++ library
for doing systems programming: http://www.cs.wustl.edu/~schmidt/ACE.html.
My intent is to fix the macros in ACE which define the
configuration on FreeBSD (all FreeBSD specific configuration data
is in ACE's config-freebsd-pthread.h).  Right now the ACE macros which detect
AIO and RT signals are broken, so I am trying to fix these macros,
hence my questions on this mailing list.  I'm not looking to specifically
use POSIX RT signals on FreeBSD, I just want to get ACE to cleanly 
compile on FreeBSD, so that FreeBSD users can use and enjoy ACE
on their projects if they choose.

> The POSIX
> standard clearly covers all the feature test macros for the
> optional implementation parts of the standard, which includes
> the RT extensions.

I wasn't referring to the POSIX standard, I was referring to
the <signal.h> and posix4(9) man page which came with FreeBSD.
I'll refer to the POSIX standard from now on.

> When (if) the feature is ever actuallysupported by FreeBSD,
> the manifest constant _POSIX_REALTIME_SIGNALS will be
> defined.

Ahh!  OK, this is the information that I am most interested in.
So, I am now confident to re-write the test in ACE to:

#ifdef _POSIX_REALTIME_SIGNALS

/* use sigqueue(), etc. */

#endif

This test will work for ACE users on older and newer versions of FreeBSD,
and when POSIX RT signals are fully implemented on FreeBSD, ACE will use
them.

Thanks for your help!

> If you want to support it by writing the code for FreeBSD
> support yourself, the Linux code is available from:
> 
> 	http://hegel.ittc.ukans.edu/projects/posix/signals.html

I do not intend to implement POSIX realtime signals for FreeBSD
at this time.

-- 
Craig Rodrigues        Distributed Systems and Logistics, Office 6/304
crodrigu@bbn.com       BBN Technologies, a Verizon company
(617) 873-4725         Cambridge, MA

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




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