[git commit] mips/signalfd.h: SFD_NONBLOCK for mips is 0200 unlike 04000 commonly

Rich Felker dalias at aerifal.cx
Tue Jul 12 18:54:06 UTC 2011


On Tue, Jul 12, 2011 at 11:47:51AM -0400, Mike Frysinger wrote:
> On Tue, Jul 12, 2011 at 10:37, Khem Raj wrote:
> > On 07/11/2011 08:39 PM, Mike Frysinger wrote:
> >> On Friday, July 01, 2011 17:50:15 Khem Raj wrote:
> >>> --- a/include/sys/signalfd.h
> >>> +++ b/include/sys/signalfd.h
> >>> @@ -64,6 +64,15 @@ enum
> >>>  # define SFD_NONBLOCK SFD_NONBLOCK
> >>>    };
> >>>
> >>> +#elif defined __mips__
> >>> +enum
> >>> +  {
> >>> +    SFD_CLOEXEC = 02000000,
> >>> +# define SFD_CLOEXEC SFD_CLOEXEC
> >>> +    SFD_NONBLOCK = 0200
> >>> +# define SFD_NONBLOCK SFD_NONBLOCK
> >>> +  };
> >>
> >> seems like this would be better as a bits/signalfd.h rather than inlining
> >> arch ifdef checks all over the place
> >
> > there is tendency to consolidate headers thats why its like this. Initially
> > I wondered too
> 
> yes, so the common pieces arent duplicated.  i didnt mean copy the
> entire file to bits/signalfd.h, just break out the arch-specific
> pieces.
> 
> also, signalfd() last i checked is linux-specific.  so it shouldnt be
> in include/ ... it needs to be in libc/sysdeps/linux/...

Are the values always the same as the O_ constants from fcntl.h? If
so, it's stupid that they even exist, but the cleanest solution would
be to just have signalfd.h include fcntl.h and then use

#define SFD_NONBLOCK O_NONBLOCK
#define SFD_CLOEXEC O_CLOEXEC

Rich


More information about the uClibc mailing list