This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [PATCH] FreeBSD compatibility for <sys/select.h>
- From: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- To: newlib at sourceware dot org
- Date: Fri, 18 Dec 2015 08:02:01 +0100
- Subject: Re: [PATCH] FreeBSD compatibility for <sys/select.h>
- Authentication-results: sourceware.org; auth=none
- References: <1450083978-5786-1-git-send-email-sebastian dot huber at embedded-brains dot de> <20151214144226 dot GD28594 at calimero dot vinschen dot de> <566FEF57 dot 9070301 at embedded-brains dot de> <20151215124133 dot GH3507 at calimero dot vinschen dot de> <20151217214620 dot GA32027 at calimero dot vinschen dot de>
On 17/12/15 22:46, Corinna Vinschen wrote:
On Dec 15 13:41, Corinna Vinschen wrote:
>On Dec 15 11:45, Sebastian Huber wrote:
> >On 14/12/15 15:42, Corinna Vinschen wrote:
> > >On Dec 14 10:06, Sebastian Huber wrote:
> > >>> * libc/include/sys/_sigset.h: New.
> > >>> * libc/include/sys/select.h: Do not include <sys/types.h> and
> > >>> <sys/time.h> to avoid cyclic header file dependencies. Include
> > >>> specialized header files instead.
> > >>> (sigset_t): Conditionally define.
> > >>> * libc/include/sys/signal.h (sigset_t): Likewise.
> > >>> * libc/include/sys/time.h: Include <sys/select.h> if
> > >>> __BSD_VISIBLE.
> > >>> * libc/include/sys/types.h: Likewise.
> > >Patch applied with changes for Cygwin. I dropped the definition of
> > >sigset_t in Cygwin's cygwin/signal.h in favor of the one from the
> > >new sys/_sigset.h, so we can remove a few Cygwin test macros.
> >
> >Thanks, the <sys/select.h> of Newlib works now fine for RTEMS with the old
> >and new network stack.
>
>Cool.
I reverted the inclusion of sys/select.h in sys/types.h. I know it's
done on FreeBSD, but it's not done on NetBSD nor on Linux. It's also
questionable from a POSIX POV.
Given that sys/select.h was never included from sys/types.h before in
newlib, there's no code relying on this yet. OTOH it potentially breaks
backward compatibility and in an existing case it actually breaks
building Gnulib on Cygwin.
Hope that's ok. If not we can discuss this further next year.
It seems to work with this change. I guess this is due to the include of
<sys/select.h> in <sys/time.h>. Is this all right?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschÃftliche Mitteilung im Sinne des EHUG.