in bits/sched.h, the macro used to control exposure of unshare() and clone() is
__USE_MISC (i.e., _SVID_SOURCE || _BSD_SOURCE). Surely this should really be
_GNU_SOURCE, since these APIs are Linux specific. (I realise that this might
cause source compatibility problems, so perhaps the governing if should then
best be changed:
#if defined(__USE_MISC) || defined (__USE_GNU)
I realised this issue while reviewing the documentation of feature test macros
for the manual pages for these calls. To date the FTM requirements were not
documented. I plan to document them as _GNU_SOURCE.
> #if defined(__USE_MISC) || defined (__USE_GNU)
This makes no sense. __USE_MISC is implied in __USE_GNU. The header is fine.
Agreed -- that last sentence made no sense. But the first point does. Why us
__USE_MISC being used to expose Linux-specific definitions? The correct #ifdef
Silently fixed as I suggested, in glibc 2.14...