On 22.10.2017 06:22, Robert Elz wrote: > Date: Sun, 22 Oct 2017 05:59:41 +0200 > From: Kamil Rytarowski <n54%gmx.com@localhost> > Message-ID: <1fba73e6-6ef5-ae30-4a3d-570db32fb01f%gmx.com@localhost> > > | As far as I can tell, if something defines a namespace like > | _POSIX_SOURCE, it excludes _NETBSD_SOURCE. I've not researched the > | source of this mechanism, but this is my observation and common in 3rd > | party software. > > Excludes by default, yes, it is from sys/featuretest.h (which is included > by just about every other standard header file.) > > #if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \ > !defined(_XOPEN_SOURCE) && !defined(_NETBSD_SOURCE) > #define _NETBSD_SOURCE 1 > #endif > > That's where the _NETBSD_SOURCE definition normally comes from. > > I'm not sure that case is important for the current issue though, as if > something is specifically defining _POSIX_SOURCE (or one of the other 2) > then it certainly should not be using ioctl() and if there are such > applications, and we break them, well, good... > > kre > What UNIX-like systems skip ioctl(2)s except plan9 (assuming that it is UNIX-like)? We have a reversed logic compared to GNU. In GLIBC additional namespace definitions include additional features instead of hiding existing ones. I think that 1 vnode optimization is a nanooptimization. I recall about it somewhere, that in the past this was a bottle-neck.. but it was like 30-40 years ago. I'm personally for adding a new header.
Attachment:
signature.asc
Description: OpenPGP digital signature