[PATCH] kdrive: switch to new InputOption API.

Jeremy Huddleston 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 mailing list