Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Mar 1998 16:38:30 -0500 (EST)
From:      Peter Dufault <dufault@hda.com>
To:        dufault@hda.com (Peter Dufault)
Cc:        steve@igor.haunt.com, current@FreeBSD.ORG
Subject:   More on posix level
Message-ID:  <199803272138.QAA24624@hda.hda.com>
In-Reply-To: <199803272102.QAA24520@hda.hda.com> from Peter Dufault at "Mar 27, 98 04:01:59 pm"

next in thread | previous in thread | raw e-mail | index | archive | help

In the code about to be committed, setting _POSIX_C_SOURCE ahead
of _POSIX_VERSION is going to hide all POSIX extensions for a date
than _POSIX_VERSION, whereas leaving _POSIX_C_SOURCE undefined will
allow them to show up.

My rationale:

Leaving _POSIX_C_SOURCE undefined lets the system do what it wants
in the program name space, and traditionally BSD lets extensions
show up.  Setting _POSIX_C_SOURCE is supposed to hide everything
except the POSIX and C Standard symbols for that version.  Though
I think the standard doesn't specifically talk about what happens
when _POSIX_C_SOURCE is set "in the future", in my opinion program
behavior shouldn't change, so if _POSIX_VERSION is 199009L and
Khoros sets _POSIX_C_SOURCE to 199309L the system feature set should
not change as new features are added and so nothing greater than
199009L will show up.

If FreeBSD has extensions from 199309L that Khoros wants to use,
setting _POSIX_C_SOURCE "in the future" will hide them.

This problem goes away when _POSIX_VERSION bumps to 199390L.

Clear as mud?  Does everyone agree this is correct?  What do other
systems do?

Peter

-- 
Peter Dufault (dufault@hda.com)   Realtime development, Machine control,
HD Associates, Inc.               Safety critical systems, Agency approval

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



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