FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[Original HTTPS Page]
gh-83069: Use efficient event-driven `subprocess.Popen.wait()` on Linux / macOS / BSD by giampaolo · Pull Request #144047 · python/cpython · GitHub
python
cpython
Repository navigation
Code
Issues
5k+
(5k+)
Pull requests
2.7k
(2.7k)
Actions
Projects
Security and quality
Insights
gh-83069: Use efficient event-driven subprocess.Popen.wait() on Linux / macOS / BSD
- #144047
#144047
Merged
vstinner
merged 68 commits into
python:main
python/cpython:main
from
giampaolo:subprocess-fast-wait
giampaolo/cpython:subprocess-fast-wait
Copy head branch name to clipboard
Jan 28, 2026
Conversation
Commits
68
(68)
Checks
Files changed
Merged
gh-83069: Use efficient event-driven subprocess.Popen.wait() on Linux / macOS / BSD
#144047
vstinner
merged 68 commits into
python:main
python/cpython:main
from
giampaolo:subprocess-fast-wait
giampaolo/cpython:subprocess-fast-wait
Copy head branch name to clipboard
Commits
Commits on Jan 18, 2026
Use pidfd_open() and save the FD as an attribute
giampaolo
committed
288e4db
View commit details
Copy full SHA for 288e4db
Browse repository at this point
Create _busy_wait() and move code in there
giampaolo
committed
6e494ca
View commit details
Copy full SHA for 6e494ca
Browse repository at this point
Move existing code in new _blocking_wait() method
giampaolo
committed
aaf193c
View commit details
Copy full SHA for aaf193c
Browse repository at this point
Use _wait_pidfd()
giampaolo
committed
7cbb0ad
View commit details
Copy full SHA for 7cbb0ad
Browse repository at this point
Use pidfd_open() not at class level but at method level
giampaolo
committed
d9760c3
View commit details
Copy full SHA for d9760c3
Browse repository at this point
Add kqueue() implementation for macOS and BSD
giampaolo
committed
5fd8eec
View commit details
Copy full SHA for 5fd8eec
Browse repository at this point
Add docstrings
giampaolo
committed
100b111
View commit details
Copy full SHA for 100b111
Browse repository at this point
Be conservative and check for specific error codes
giampaolo
committed
74ac2f4
View commit details
Copy full SHA for 74ac2f4
Browse repository at this point
Document possible failures
giampaolo
committed
fc0cfd6
View commit details
Copy full SHA for fc0cfd6
Browse repository at this point
Add missing import
giampaolo
committed
f282459
View commit details
Copy full SHA for f282459
Browse repository at this point
Write test for pidfd_open() failing
giampaolo
committed
6125976
View commit details
Copy full SHA for 6125976
Browse repository at this point
Write test case for pidfd_open() / kqueue failing. Assert fallback is used.
giampaolo
committed
41dc6c0
View commit details
Copy full SHA for 41dc6c0
Browse repository at this point
Write test case for kqueue failing. Assert fallback is used.
giampaolo
committed
73ba380
View commit details
Copy full SHA for 73ba380
Browse repository at this point
Move tests in their own class
giampaolo
committed
3c8e603
View commit details
Copy full SHA for 3c8e603
Browse repository at this point
Add test for terminated PID race
giampaolo
committed
932ae58
View commit details
Copy full SHA for 932ae58
Browse repository at this point
Commits on Jan 19, 2026
Add test_kqueue_race()
giampaolo
committed
bb5080a
View commit details
Copy full SHA for bb5080a
Browse repository at this point
Add test_kqueue_control_error
giampaolo
committed
f067073
View commit details
Copy full SHA for f067073
Browse repository at this point
Add docstring
giampaolo
committed
4d96c2f
View commit details
Copy full SHA for 4d96c2f
Browse repository at this point
Guard against possible slow test
giampaolo
committed
fe05acc
View commit details
Copy full SHA for fe05acc
Browse repository at this point
Timeout: use math.ceil to avoid truncation
giampaolo
committed
adb444e
View commit details
Copy full SHA for adb444e
Browse repository at this point
Remove unused exception var
giampaolo
committed
4ec17c1
View commit details
Copy full SHA for 4ec17c1
Browse repository at this point
Timeout: use math.ceil to avoid truncation
giampaolo
committed
e807ba9
View commit details
Copy full SHA for e807ba9
Browse repository at this point
Replace _can_use_kqueue() -> _CAN_USE_KQUEUE
giampaolo
committed
1ddc52b
View commit details
Copy full SHA for 1ddc52b
Browse repository at this point
Shorten code
giampaolo
committed
645ef6c
View commit details
Copy full SHA for 645ef6c
Browse repository at this point
Use waitpid() + WNOHANG even if process exited to avoid rare race
giampaolo
committed
6ee771b
View commit details
Copy full SHA for 6ee771b
Browse repository at this point
Revert prev change
giampaolo
committed
61c6b99
View commit details
Copy full SHA for 61c6b99
Browse repository at this point
Use ceil(timeout) to avoid truncation
giampaolo
committed
527646d
View commit details
Copy full SHA for 527646d
Browse repository at this point
Remove check for timeout < 0 + rm test case which didn't make sense.
giampaolo
committed
0a8a1b2
View commit details
Copy full SHA for 0a8a1b2
Browse repository at this point
Don't use _blocking_wait() as it has a while loop
giampaolo
committed
73b97dc
View commit details
Copy full SHA for 73b97dc
Browse repository at this point
Add docstring
giampaolo
committed
2d3c3f7
View commit details
Copy full SHA for 2d3c3f7
Browse repository at this point
Rm _busy_wait()
giampaolo
committed
4eac42f
View commit details
Copy full SHA for 4eac42f
Browse repository at this point
Add comment
giampaolo
committed
3c156a9
View commit details
Copy full SHA for 3c156a9
Browse repository at this point
Add assert
giampaolo
committed
dac7d3b
View commit details
Copy full SHA for dac7d3b
Browse repository at this point
Update comments
giampaolo
committed
5c7ec2f
View commit details
Copy full SHA for 5c7ec2f
Browse repository at this point
Add test for timeout=0
giampaolo
committed
5c29144
View commit details
Copy full SHA for 5c29144
Browse repository at this point
Update comment about PID reuse race
giampaolo
committed
4359b07
View commit details
Copy full SHA for 4359b07
Browse repository at this point
Update comment
giampaolo
committed
81275c8
View commit details
Copy full SHA for 81275c8
Browse repository at this point
Handle rare case where poll() says we're done, but waitpid() doesn't
giampaolo
committed
43b500f
View commit details
Copy full SHA for 43b500f
Browse repository at this point
Update Doc/library/subprocess.rst
giampaolo
committed
b64e42b
View commit details
Copy full SHA for b64e42b
Browse repository at this point
Add news entry
giampaolo
committed
a101406
View commit details
Copy full SHA for a101406
Browse repository at this point
Add entry in Doc/whatsnew/3.15.rst
giampaolo
committed
452f8c4
View commit details
Copy full SHA for 452f8c4
Browse repository at this point
Fix typo
giampaolo
committed
b0c9890
View commit details
Copy full SHA for b0c9890
Browse repository at this point
Re-wording
giampaolo
committed
27b7c9f
View commit details
Copy full SHA for 27b7c9f
Browse repository at this point
Raise on timeout < 0 and re-add test case
giampaolo
committed
e1da996
View commit details
Copy full SHA for e1da996
Browse repository at this point
Check if can really use can_use_pidfd() in unit tests
giampaolo
committed
5c78acc
View commit details
Copy full SHA for 5c78acc
Browse repository at this point
Check if can really use kqueue() in unit tests
giampaolo
committed
df0538a
View commit details
Copy full SHA for df0538a
Browse repository at this point
Pre-emptively check whether to use the fast way methods
giampaolo
committed
6d8e36c
View commit details
Copy full SHA for 6d8e36c
Browse repository at this point
Add test_fast_path_avoid_busy_loop
giampaolo
committed
6ba7465
View commit details
Copy full SHA for 6ba7465
Browse repository at this point
Update comments
giampaolo
committed
e3c7977
View commit details
Copy full SHA for e3c7977
Browse repository at this point
Fix missing import on Windows
giampaolo
committed
97cc3be
View commit details
Copy full SHA for 97cc3be
Browse repository at this point
Merge branch 'main' into subprocess-fast-wait
giampaolo
committed
c4342e3
View commit details
Copy full SHA for c4342e3
Browse repository at this point
Try to fix doc build error
giampaolo
committed
5d78d24
View commit details
Copy full SHA for 5d78d24
Browse repository at this point
Try to fix doc build error 2
giampaolo
committed
a916da3
View commit details
Copy full SHA for a916da3
Browse repository at this point
Try to fix doc build error 3
giampaolo
committed
86200bd
View commit details
Copy full SHA for 86200bd
Browse repository at this point
Try to fix doc build error 4
giampaolo
committed
85c38bc
View commit details
Copy full SHA for 85c38bc
Browse repository at this point
Try to fix doc build error 5
giampaolo
committed
3c92c1d
View commit details
Copy full SHA for 3c92c1d
Browse repository at this point
Minor rewordings
giampaolo
committed
33c8b1f
View commit details
Copy full SHA for 33c8b1f
Browse repository at this point
Commits on Jan 21, 2026
Small refact
giampaolo
committed
525c047
View commit details
Copy full SHA for 525c047
Browse repository at this point
Address review comments (bare assert, don't use ceil())
giampaolo
committed
2b931b8
View commit details
Copy full SHA for 2b931b8
Browse repository at this point
Address review comments (use test class VARIABLES)
giampaolo
committed
d1c6e91
View commit details
Copy full SHA for d1c6e91
Browse repository at this point
Address review comments (add periods in doc)
giampaolo
committed
3e9d303
View commit details
Copy full SHA for 3e9d303
Browse repository at this point
Merge branch 'main' into subprocess-fast-wait
giampaolo
committed
a44b2d7
View commit details
Copy full SHA for a44b2d7
Browse repository at this point
Remove weird unicode char from doc added by accident
giampaolo
committed
b4f6020
View commit details
Copy full SHA for b4f6020
Browse repository at this point
Don't import select on Windows
giampaolo
committed
4e17856
View commit details
Copy full SHA for 4e17856
Browse repository at this point
Make kq.control() invocation clearer by passing kwargs
giampaolo
committed
6f6600d
View commit details
Copy full SHA for 6f6600d
Browse repository at this point
Revert previous commit
giampaolo
committed
37288c6
View commit details
Copy full SHA for 37288c6
Browse repository at this point
Commits on Jan 22, 2026
Remove bare assert statements
giampaolo
committed
300692e
View commit details
Copy full SHA for 300692e
Browse repository at this point
Merge branch 'main' into subprocess-fast-wait
giampaolo
authored
7bee1e9
View commit details
Copy full SHA for 7bee1e9
Browse repository at this point
Back
|
FazBrowse Home
|
New Git URL