summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-01-29 12:06:10 (GMT)
committerBrad King <brad.king@kitware.com>2022-01-29 12:06:10 (GMT)
commite83bb7516038e6ad10927a0c7359d5118acce1df (patch)
tree50fcb371836c5dc08b174d635f419ec3b45aee99
parent55b4e3318db42b7de5d126eeed2854a9cfbc434c (diff)
parentd01d634bc7b848ba0ee8e45972ba1bbccb77f3d1 (diff)
downloadCMake-e83bb7516038e6ad10927a0c7359d5118acce1df.zip
CMake-e83bb7516038e6ad10927a0c7359d5118acce1df.tar.gz
CMake-e83bb7516038e6ad10927a0c7359d5118acce1df.tar.bz2
Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream * upstream-KWSys: KWSys 2022-01-29 (389a74dc)
-rw-r--r--Source/kwsys/ProcessUNIX.c6
-rw-r--r--Source/kwsys/testSystemTools.cxx9
2 files changed, 12 insertions, 3 deletions
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c
index 1963b27..19bf982 100644
--- a/Source/kwsys/ProcessUNIX.c
+++ b/Source/kwsys/ProcessUNIX.c
@@ -41,6 +41,12 @@ do.
/* Increase the file descriptor limit for select() before including
related system headers. (Default: 64) */
# define FD_SETSIZE 16384
+#elif defined(__APPLE__)
+/* Increase the file descriptor limit for select() before including
+ related system headers. (Default: 1024) */
+# define _DARWIN_UNLIMITED_SELECT
+# include <limits.h> /* OPEN_MAX */
+# define FD_SETSIZE OPEN_MAX
#endif
#include <assert.h> /* assert */
diff --git a/Source/kwsys/testSystemTools.cxx b/Source/kwsys/testSystemTools.cxx
index e88a481..21d6f04 100644
--- a/Source/kwsys/testSystemTools.cxx
+++ b/Source/kwsys/testSystemTools.cxx
@@ -295,12 +295,15 @@ static bool CheckFileOperations()
// Reset umask
#ifdef __MSYS__
mode_t fullMask = S_IWRITE;
+ mode_t testPerm = S_IREAD;
#elif defined(_WIN32) && !defined(__CYGWIN__)
// NOTE: Windows doesn't support toggling _S_IREAD.
mode_t fullMask = _S_IWRITE;
+ mode_t testPerm = 0;
#else
// On a normal POSIX platform, we can toggle all permissions.
mode_t fullMask = S_IRWXU | S_IRWXG | S_IRWXO;
+ mode_t testPerm = S_IRUSR;
#endif
// Test file permissions without umask
@@ -311,7 +314,7 @@ static bool CheckFileOperations()
res = false;
}
- if (!kwsys::SystemTools::SetPermissions(testNewFile, 0)) {
+ if (!kwsys::SystemTools::SetPermissions(testNewFile, testPerm)) {
std::cerr << "Problem with SetPermissions (1) for: " << testNewFile
<< std::endl;
res = false;
@@ -323,10 +326,10 @@ static bool CheckFileOperations()
res = false;
}
- if ((thisPerm & fullMask) != 0) {
+ if ((thisPerm & fullMask) != testPerm) {
std::cerr << "SetPermissions failed to set permissions (1) for: "
<< testNewFile << ": actual = " << thisPerm
- << "; expected = " << 0 << std::endl;
+ << "; expected = " << testPerm << std::endl;
res = false;
}