This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FD_SET and FORTIFY_SOURCE


On 03/24/2013 04:17 PM, KOSAKI Motohiro wrote:
> 1. only turn on __FD_ELT check when running on hurd.
> 2. only turn on __FD_ELT check when defined some specific macro. (e.g.
> likes darwin,
>     but disable by default)
> 2-2. make FORTIFY_SOURCE variant and check POSIX compliance if enabled.
> 3. provide select_large_fdset() likes solaris. (I strongly don't
> recommend. all application
>     need to modify and recompilation)
> 
> What do you think?

The value of __FD_SETSIZE is part of the ABI and can't be changed.

Imagine one library using a value >1024 while another uses one
that has a value ==1024. You would have to recompile all of userspace
to ensure it works reliable and that's what we call an ABI breakage.

Therefore #1, #2, and #2-2 would break the ABI.

The only option is #3, as Solaris did, and they probably did it 
exactly for this reason.

Alternatively rewrite using poll/epoll.

Does that make sense?

Cheers,
Carlos.
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]