[musl] [PATCH] add support for POSIX_SPAWN_SETSID

Rich Felker dalias@libc.org
Sat Apr 22 23:47:00 GMT 2017


On Sat, Apr 22, 2017 at 07:43:01PM -0400, Zack Weinberg wrote:
> On Sat, Apr 22, 2017 at 7:19 PM, Rich Felker <dalias@libc.org> wrote:
> >> >  #define POSIX_SPAWN_SETSIGMASK 8
> >> >  #define POSIX_SPAWN_SETSCHEDPARAM 16
> >> >  #define POSIX_SPAWN_SETSCHEDULER 32
> >> > +#define POSIX_SPAWN_SETSID 64
> >>
> >> This overlaps with the glibc value for POSIX_SPAWN_USEVFORK; while we
> >> don't implement it, we also don't want to have mismatched constant
> >> ABI.
> ....
> > Thanks for all your work on this! Based on the glibc patch review, I'm
> > changing the error condition from !=0 to <0, and of course changing
> > the flag value to 128 to match.
> 
> May I suggest that musl include a note in its headers, explaining that
> bit 64 is reserved to avoid an ABI conflict with glibc?  Then the next
> time there's an addition, there will be less confusion.

I was actually thinking of just adding POSIX_SPAWN_USEVFORK as a nop.
I think it will eventually be a nop on glibc too; maybe it already is
on Linux targets. Then we can have posix_spawnattr_setflags check
against all valid flags and return EINVAL if an unknown bit is set, so
that applications can runtime-probe for any future functionality
additions.

Rich



More information about the Libc-alpha mailing list