summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub KulĂ­k <Kulikjak@gmail.com>2021-08-17 18:09:48 (GMT)
committerGitHub <noreply@github.com>2021-08-17 18:09:48 (GMT)
commitb1930bf75f276cd7ca08c4455298128d89adf7d1 (patch)
tree0f18730d1034cd5e33a84dd1e6e60a02c97a85f8
parent4b9a2dcf19e5d13c3bc2afea2de1f65cd994c699 (diff)
downloadcpython-b1930bf75f276cd7ca08c4455298128d89adf7d1.zip
cpython-b1930bf75f276cd7ca08c4455298128d89adf7d1.tar.gz
cpython-b1930bf75f276cd7ca08c4455298128d89adf7d1.tar.bz2
bpo-44935: enable posix_spawn() on Solaris (GH-27795)
Enable posix_spawn() on Solaris
-rw-r--r--Lib/subprocess.py5
-rw-r--r--Misc/NEWS.d/next/Library/2021-08-17-16-01-44.bpo-44935.roUl0G.rst2
2 files changed, 5 insertions, 2 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 7a9ab5a..dd1174e 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -660,8 +660,9 @@ def _use_posix_spawn():
# os.posix_spawn() is not available
return False
- if sys.platform == 'darwin':
- # posix_spawn() is a syscall on macOS and properly reports errors
+ if sys.platform in ('darwin', 'sunos5'):
+ # posix_spawn() is a syscall on both macOS and Solaris,
+ # and properly reports errors
return True
# Check libc name and runtime libc version
diff --git a/Misc/NEWS.d/next/Library/2021-08-17-16-01-44.bpo-44935.roUl0G.rst b/Misc/NEWS.d/next/Library/2021-08-17-16-01-44.bpo-44935.roUl0G.rst
new file mode 100644
index 0000000..3d41c3b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-08-17-16-01-44.bpo-44935.roUl0G.rst
@@ -0,0 +1,2 @@
+:mod:`subprocess` on Solaris now also uses :func:`os.posix_spawn()` for
+better performance.