diff options
author | Sam James <sam@gentoo.org> | 2023-12-12 10:25:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-12 10:25:27 (GMT) |
commit | c454e934d36193709aadba8e8e28739790086b95 (patch) | |
tree | ab546e682c4bd2be964d8eea9ddbc9fa630850ab /Python | |
parent | 0d2fe6bab01541301abe98a23ee15a16f493fe74 (diff) | |
download | cpython-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.c | 6 |
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 */ |