public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] Cygwin: redefine some macros for Linux compatibility
@ 2022-07-07 12:23 Ken Brown
0 siblings, 0 replies; only message in thread
From: Ken Brown @ 2022-07-07 12:23 UTC (permalink / raw)
To: cygwin-cvs, newlib-cvs
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>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-07-07 12:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-07 12:23 [newlib-cygwin] Cygwin: redefine some macros for Linux compatibility Ken Brown
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).