[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with sys_select on Cygwin

From: Eric Blake
Subject: Re: Problem with sys_select on Cygwin
Date: Mon, 21 Mar 2016 10:04:15 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 03/21/2016 09:47 AM, Eric Blake wrote:
>> Would you mind to follow up with that problem on bug-gnulib?  The test
>> should probably look like this, more or less:
>> #!((defined __GLIBC__ \
>>     || (defined __NEWLIB__ \
>>     && ((__NEWLIB__ == 2 && __NEWLIB_MINOR__ >= 4) || __NEWLIB__ >= 3))) \
>>  && !defined __UCLIBC__)
>> As for the actual version number to test I have to talk to Jeff if we
>> can change the version to 2.4 or at least 2.3.1.  2.4 would simplify the
>> test in gnulib, otherwise the test gets a bit more complicated.

Do we even need to wait for a version number from newlib, or can we
probe based on one of the other changes going in at the same time?  For
example, part of the newlib/Cygwin changes was the addition of a new
sys/_timespec.h, with a new witness variable _SYS__TIMESPEC_H_, which
should not be defined in the older layout of the headers.  Therefore, it
may be feasible to do:

#if !((defined __GLIBC__ \
      || (defined __NEWLIB__ && defined _SYS_TIMESPEC_H)) \
     && !defined __UCLIBC__

and thereby simultaneously cater to both old and new cygwin headers
without waiting for a version number bump from newlib.

Also, this patch needs to adjust comments elsewhere in gnulib's
sys/select.h replacement, such as:

/* On OSF/1 and Solaris 2.6, <sys/types.h> and <sys/time.h>
   both include <sys/select.h>.
   On Cygwin, <sys/time.h> includes <sys/select.h>.
   Simply delegate to the system's header in this case.  */

#elif (@HAVE_SYS_SELECT_H@                                              \
       && (defined _CYGWIN_SYS_TIME_H                                   \

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]