Re: [PATCH] Move the scope of the FD_SET, FD_CLR, FD_SETSIZE,FD_ISSET, and FD_SERO to the linux/posix_types.h scope and out of thelinux/time.h scope.

From: Charles Hardin
Date: Wed Dec 08 2010 - 11:05:18 EST


Thanks,

Sorry, your name popped out of the get_maintainers.pl script, you have
any idea who else from

Thomas Gleixner
David Howells
H. Peter Anvin
David S. Miller

This should go to? or just all of them?
Charles

On Tue, Dec 7, 2010 at 8:27 PM, john stultz <johnstul@xxxxxxxxxx> wrote:
> On Tue, 2010-12-07 at 18:29 -0800, ckhardin@xxxxxxxxx wrote:
>> From: Charles Hardin <chardin@xxxxxxxxxxxxxxxxxxxxx>
>>
>> This is a change to address a conflict in a time utility library that
>> was using the kernel version of timespec and picked up the FD_SET macros
>> and which caused a redefinition compiler error
>>
>> Signed-off-by: Charles Hardin <ckhardin@xxxxxxxxx>
>
> No objection here, but I'm not sure if I'm the best to review this, as
> I'm not as familiar with the users of FD_*.
>
> thanks
> -john
>
>
>> ---
>>  include/linux/posix_types.h |   12 ++++++++++++
>>  include/linux/time.h        |    8 --------
>>  2 files changed, 12 insertions(+), 8 deletions(-)
>>
>> diff --git a/include/linux/posix_types.h b/include/linux/posix_types.h
>> index f04c98c..c49ce52 100644
>> --- a/include/linux/posix_types.h
>> +++ b/include/linux/posix_types.h
>> @@ -33,6 +33,18 @@
>>  #undef __FDMASK
>>  #define      __FDMASK(d)     (1UL << ((d) % __NFDBITS))
>>
>> +#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
>> +
>> +#define NFDBITS                      __NFDBITS
>> +
>> +#define FD_SETSIZE           __FD_SETSIZE
>> +#define FD_SET(fd,fdsetp)    __FD_SET(fd,fdsetp)
>> +#define FD_CLR(fd,fdsetp)    __FD_CLR(fd,fdsetp)
>> +#define FD_ISSET(fd,fdsetp)  __FD_ISSET(fd,fdsetp)
>> +#define FD_ZERO(fdsetp)              __FD_ZERO(fdsetp)
>> +
>> +#endif /* not kernel and not glibc */
>> +
>>  typedef struct {
>>       unsigned long fds_bits [__FDSET_LONGS];
>>  } __kernel_fd_set;
>> diff --git a/include/linux/time.h b/include/linux/time.h
>> index 9f15ac7..6e612a4 100644
>> --- a/include/linux/time.h
>> +++ b/include/linux/time.h
>> @@ -254,14 +254,6 @@ static __always_inline void timespec_add_ns(struct timespec *a, u64 ns)
>>  }
>>  #endif /* __KERNEL__ */
>>
>> -#define NFDBITS                      __NFDBITS
>> -
>> -#define FD_SETSIZE           __FD_SETSIZE
>> -#define FD_SET(fd,fdsetp)    __FD_SET(fd,fdsetp)
>> -#define FD_CLR(fd,fdsetp)    __FD_CLR(fd,fdsetp)
>> -#define FD_ISSET(fd,fdsetp)  __FD_ISSET(fd,fdsetp)
>> -#define FD_ZERO(fdsetp)              __FD_ZERO(fdsetp)
>> -
>>  /*
>>   * Names of the interval timers, and structure
>>   * defining a timer setting:
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/