summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-12-12 10:25:27 (GMT)
committerGitHub <noreply@github.com>2023-12-12 10:25:27 (GMT)
commitc454e934d36193709aadba8e8e28739790086b95 (patch)
treeab546e682c4bd2be964d8eea9ddbc9fa630850ab /Python
parent0d2fe6bab01541301abe98a23ee15a16f493fe74 (diff)
downloadcpython-c454e934d36193709aadba8e8e28739790086b95.zip
cpython-c454e934d36193709aadba8e8e28739790086b95.tar.gz
cpython-c454e934d36193709aadba8e8e28739790086b95.tar.bz2
gh-112970: Detect and use closefrom() when available (#112969)
glibc-2.34 implements closefrom(3) using the same semantics as on BSD. Check for closefrom() in configure and use the check result in fileutils.c, rather than hardcoding a FreeBSD check. Some implementations of closefrom() return an int. Explicitly discard the return value by casting it to void, to avoid future compiler warnings. Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'Python')
-rw-r--r--Python/fileutils.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Python/fileutils.c b/Python/fileutils.c
index 9d12bc8..882d329 100644
--- a/Python/fileutils.c
+++ b/Python/fileutils.c
@@ -2878,9 +2878,9 @@ done:
* non-opened fd in the middle.
* 2b. If fdwalk(3) isn't available, just do a plain close(2) loop.
*/
-#ifdef __FreeBSD__
+#ifdef HAVE_CLOSEFROM
# define USE_CLOSEFROM
-#endif /* __FreeBSD__ */
+#endif /* HAVE_CLOSEFROM */
#ifdef HAVE_FDWALK
# define USE_FDWALK
@@ -2922,7 +2922,7 @@ _Py_closerange(int first, int last)
#ifdef USE_CLOSEFROM
if (last >= sysconf(_SC_OPEN_MAX)) {
/* Any errors encountered while closing file descriptors are ignored */
- closefrom(first);
+ (void)closefrom(first);
}
else
#endif /* USE_CLOSEFROM */