[Top][All Lists]

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

Re: Problem with sys_select on Cygwin

From: Ken Brown
Subject: Re: Problem with sys_select on Cygwin
Date: Mon, 21 Mar 2016 12:14:27 -0400
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0

On 3/21/2016 12:04 PM, Eric Blake wrote:
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                                   \

This is obsolete anyway. _CYGWIN_SYS_TIME_H was removed from the Cygwin headers a year ago.


reply via email to

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