]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-38061: subprocess uses closefrom() on FreeBSD (GH-19697)
authorVictor Stinner <vstinner@python.org>
Fri, 24 Apr 2020 10:06:58 +0000 (12:06 +0200)
committerGitHub <noreply@github.com>
Fri, 24 Apr 2020 10:06:58 +0000 (12:06 +0200)
commite6f8abd500751a834b6fff4f107ecbd29f2184fe
treeb6c864b0239aba840849bb4dba8a94d7b57b5b68
parent162c567d164b5742c0d1f3f8bd8c8bab9c117cd0
bpo-38061: subprocess uses closefrom() on FreeBSD (GH-19697)

Optimize the subprocess module on FreeBSD using closefrom().
A single close(fd) syscall is cheap, but when sysconf(_SC_OPEN_MAX)
is high, the loop calling close(fd) on each file descriptor can take
several milliseconds.

The workaround on FreeBSD to improve performance was to load and
mount the fdescfs kernel module, but this is not enabled by default.

Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans
(kevans) and Kubilay Kocak (koobs):
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
Doc/whatsnew/3.9.rst
Misc/NEWS.d/next/Library/2020-04-24-01-55-00.bpo-38061.XmULB3.rst [new file with mode: 0644]
Modules/_posixsubprocess.c