[PATCH] kdrive: switch to new InputOption API.
jeremyhu at apple.com
Tue Oct 25 09:38:24 PDT 2011
On Oct 25, 2011, at 1:22 AM, Mark Kettenis wrote:
>> From: Jeremy Huddleston <jeremyhu at apple.com>
>> Date: Mon, 24 Oct 2011 19:41:00 -0700
>> On Oct 24, 2011, at 7:05 PM, Keith Packard wrote:
>>> And, do we allow the use of
>>> strndup in the server?
>> Alan just asked that a few days ago ;).
>> I wouldn't be against using strndup, but there would need to be an
>> in-tree implementation provided for systems that lack it (like OSX
>> 10.6 and prior) since it was introduced to POSIX in SUSv4, and our
>> minimum requirement is Unix98. I'd be in support of bumping that to
>> SUSv3, but not yet SUSv4 since there isn't even a conformance suite
>> for it yet.
> s/SUSv3/POSIX:2004/ and s/SUSv4/POSIX:2008/?
> SUS includes SystemV-specific interfaces on top of POSIX that are not
> generally available on BSDs (including probably OSX). Those should
> not become mandatory. And I agree that it is too early to start
> relying on POSIX:2008; I don't think anybody fully implements it,
> although Solaris and Linux are probably very close.
Yes, sorry for over simplifying it. The standards sets are certainly non-trivial. When I said SUSv4, I really meant the SUSv4 *Base Specifications* which refers to IEEE Std 1003.1-2008, ISO/IEC 9945:2008, and TOG Issue 7. All three are identical and just known under different names for historical reasons. I was not suggesting that we ever require optional interfaces. IE, when I said SUSv3, I meant Unix 03. Sorry for the confusion.
But on that note:
Solaris 8 and 9 are registered as Unix 98, and Solaris 10 is registered as Unix 03. I assume Solaris 11 is also Unix 03 compliant but not yet registered.
Mac OS X 10.5 and 10.6 are registered as Unix 03.
I believe FreeBSD, OpenBSD, and NetBSD are close enough to Unix 03 for our needs (the one standout is _POSIX_SAVED_IDS).
I also believe that eglibc is close enough to Unix 03 for our needs.
I do not know much about Cygwin, so hopefully Jon can fill us in there.
Assuming Jon is ok with it for Cygwin, I don't see much reason to hold onto Unix98 as our minimum requirement. I'd much rather see us embrace Unix 03 (with IEEE Std 1003.1-2004).
Unix 03 gets us some functionality that we're already using in places, but this can let us clean out #ifdef cruft and configure.ac checks. Specifically, setegid(2) and seteuid(2) are in Unix 03.
More information about the xorg-devel