public inbox for cygwin-cvs@sourceware.org help / color / mirror / Atom feed
From: Ken Brown <kbrown@sourceware.org> To: cygwin-cvs@sourceware.org, newlib-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: redefine some macros for Linux compatibility Date: Thu, 7 Jul 2022 12:23:37 +0000 (GMT) [thread overview] Message-ID: <20220707122337.603C93858D32@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5d4f405d3b65536c5757e249832654c24759021f commit 5d4f405d3b65536c5757e249832654c24759021f Author: Ken Brown <kbrown@cornell.edu> Date: Wed Jul 6 14:43:16 2022 -0400 Cygwin: redefine some macros for Linux compatibility Define FD_SETSIZE (<sys/select.h>) to be 1024 by default, and define NOFILE (<sys/param.h>) to be OPEN_MAX (== 3200) by default. Remove the comment in <sys/select.h> that FD_SETSIZE should be >= NOFILE. Bump API minor. Addresses: https://cygwin.com/pipermail/cygwin/2022-July/251839.html Diff: --- newlib/libc/include/sys/select.h | 10 +++++++--- winsup/cygwin/include/cygwin/version.h | 3 ++- winsup/cygwin/include/sys/param.h | 4 +++- winsup/cygwin/release/3.4.0 | 4 ++++ winsup/doc/new-features.xml | 5 +++++ 5 files changed, 21 insertions(+), 5 deletions(-) diff --git a/newlib/libc/include/sys/select.h b/newlib/libc/include/sys/select.h index a5cd6c3fe..93d0b79bf 100644 --- a/newlib/libc/include/sys/select.h +++ b/newlib/libc/include/sys/select.h @@ -25,10 +25,14 @@ typedef __sigset_t sigset_t; * Select uses bit masks of file descriptors in longs. * These macros manipulate such bit fields (the filesystem macros use chars). * FD_SETSIZE may be defined by the user, but the default here - * should be >= NOFILE (param.h). + * should be enough for most uses. */ -#ifndef FD_SETSIZE -#define FD_SETSIZE 64 +#ifndef FD_SETSIZE +# ifdef __CYGWIN__ +# define FD_SETSIZE 1024 +# else +# define FD_SETSIZE 64 +# endif #endif typedef unsigned long __fd_mask; diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h index 6f65a1299..a5d38f37a 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h @@ -517,12 +517,13 @@ details. */ pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock, sem_clockwait, sig2str, str2sig. 342: Remove cleanup_glue. + 343: Change FD_SETSIZE and NOFILE. Note that we forgot to bump the api for ualarm, strtoll, strtoull, sigaltstack, sethostname. */ #define CYGWIN_VERSION_API_MAJOR 0 -#define CYGWIN_VERSION_API_MINOR 342 +#define CYGWIN_VERSION_API_MINOR 343 /* There is also a compatibity version number associated with the shared memory regions. It is incremented when incompatible changes are made to the shared diff --git a/winsup/cygwin/include/sys/param.h b/winsup/cygwin/include/sys/param.h index 63de726e6..742599b8b 100644 --- a/winsup/cygwin/include/sys/param.h +++ b/winsup/cygwin/include/sys/param.h @@ -17,7 +17,9 @@ /* Max number of open files. The Posix version is OPEN_MAX. */ /* Number of fds is virtually unlimited in cygwin, but we must provide some reasonable value for Posix conformance */ -#define NOFILE 8192 +#if !defined NOFILE && defined OPEN_MAX +# define NOFILE OPEN_MAX +#endif /* Max number of groups; must keep in sync with NGROUPS_MAX in limits.h */ #define NGROUPS NGROUPS_MAX diff --git a/winsup/cygwin/release/3.4.0 b/winsup/cygwin/release/3.4.0 index f310912c9..08d28d510 100644 --- a/winsup/cygwin/release/3.4.0 +++ b/winsup/cygwin/release/3.4.0 @@ -25,6 +25,10 @@ What changed: the current directory as Linux does. Addresses: https://cygwin.com/pipermail/cygwin/2022-June/251730.html +- The default values of FD_SETSIZE and NOFILE are now 1024 and 3200, + respectively. + Addresses: https://cygwin.com/pipermail/cygwin/2022-July/251839.html + Bug Fixes --------- diff --git a/winsup/doc/new-features.xml b/winsup/doc/new-features.xml index 0149a027a..46dc028f1 100644 --- a/winsup/doc/new-features.xml +++ b/winsup/doc/new-features.xml @@ -33,6 +33,11 @@ Handle UDP_SEGMENT and UDP_GRO socket options. The stdio input functions no longer try again to read after EOF. </para></listitem> +<listitem><para> +The default values of FD_SETSIZE and NOFILE are now 1024 and 3200, +respectively. +</para></listitem> + </itemizedlist> </sect2>
reply other threads:[~2022-07-07 12:23 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220707122337.603C93858D32@sourceware.org \ --to=kbrown@sourceware.org \ --cc=cygwin-cvs@sourceware.org \ --cc=newlib-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).