blob: a7c4e43e81cf1b51c076b4a693d2c98964473458 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# Add closefrom(2) support
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
# https://bugs.python.org/issue38061
# TODO: Upstream
--- Modules/_posixsubprocess.c.orig 2019-10-14 13:34:47 UTC
+++ Modules/_posixsubprocess.c
@@ -236,8 +236,15 @@ _close_fds_by_brute_force(long start_fd, PyObject *py_
start_fd = keep_fd + 1;
}
if (start_fd <= end_fd) {
- for (fd_num = start_fd; fd_num < end_fd; ++fd_num) {
- close(fd_num);
+#if defined(__FreeBSD__)
+ if (end_fd >= sysconf(_SC_OPEN_MAX)) {
+ closefrom(start_fd);
+ } else
+#endif
+ {
+ for (fd_num = start_fd; fd_num < end_fd; ++fd_num) {
+ close(fd_num);
+ }
}
}
}
|