|
From: | Ken Brown |
Subject: | Re: Problem with sys_select on Cygwin |
Date: | Sun, 20 Mar 2016 07:14:09 -0400 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 |
On 3/19/2016 10:44 PM, Paul Eggert wrote:
Ken Brown wrote:Cygwin is changing its headers as of the next release so that sys/types.h includes sys/select.h.... Can sys_select be changed so that it doesn't try to include other headers before it has finished including sys/types.h? Or is there some other way to solve this problem?Probably the latter. Why is Cygwin changing its headers? What is it changing? This may help us to provide a special case in Gnulib to solve the problem. For example, we might be able to add Cygwin to the existing mess of code near the start of lib/sys_select.in.h that does something special for __osf__ and/or for __sun.
Eric can probably explain this better than I can, but I'll give it a try. Newlib, which provides Cygwin's libc, has just had a complete overhaul of its feature test macros, with the goal of increasing compatibility with Glibc and/or BSD. The relevant change to sys/types.h is simply
--- a/newlib/libc/include/sys/types.h +++ b/newlib/libc/include/sys/types.h @@ -87,5 +87,7 @@ # if __BSD_VISIBLE +#include <sys/select.h> + # define physadr physadr_t # define quad quad_tI gather that __BSD_VISIBLE is similar to Glibc's __USE_MISC, which Glibc uses to guard the inclusion of sys/select.h.
Ken
[Prev in Thread] | Current Thread | [Next in Thread] |