Line 0
Link Here
|
|
|
1 |
--- Modules/posixmodule.c.orig 2019-10-14 13:34:47 UTC |
2 |
+++ Modules/posixmodule.c |
3 |
@@ -8460,8 +8460,16 @@ os_closerange_impl(PyObject *module, int fd_low, int f |
4 |
lohi[1] = fd_high; |
5 |
fdwalk(_fdwalk_close_func, lohi); |
6 |
#else |
7 |
- for (i = Py_MAX(fd_low, 0); i < fd_high; i++) |
8 |
- close(i); |
9 |
+ fd_low = Py_MAX(fd_low, 0); |
10 |
+#ifdef __FreeBSD__ |
11 |
+ if (fd_high >= sysconf(_SC_OPEN_MAX)) { |
12 |
+ closefrom(fd_low); |
13 |
+ } else |
14 |
+#endif |
15 |
+ { |
16 |
+ for (i = fd_low; i < fd_high; i++) |
17 |
+ close(i); |
18 |
+ } |
19 |
#endif |
20 |
_Py_END_SUPPRESS_IPH |
21 |
Py_END_ALLOW_THREADS |