Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitae30646

Browse files
gpsheadpicnixz
andauthored
gh-118761: Revert "Improve import time ofsubprocess (GH-129427)" (#130201)
* Revert "gh-118761: Improve import time of `subprocess` (GH-129427)"This reverts commit49f2465.Also known asf502c8f in 3.13 (PR#129447)Also known asf65aa0d in 3.12 (PR#129448)This caused bugs in the `__del__` finalizer:#118761 (comment)---------Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
1 parent655fc8a commitae30646

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

‎Lib/subprocess.py‎

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@
4343
importbuiltins
4444
importerrno
4545
importio
46+
importlocale
4647
importos
4748
importtime
49+
importsignal
4850
importsys
4951
importthreading
5052
importwarnings
@@ -142,8 +144,6 @@ def __init__(self, returncode, cmd, output=None, stderr=None):
142144

143145
def__str__(self):
144146
ifself.returncodeandself.returncode<0:
145-
# Lazy import to improve module import time
146-
importsignal
147147
try:
148148
return"Command '%s' died with %r."% (
149149
self.cmd,signal.Signals(-self.returncode))
@@ -381,8 +381,6 @@ def _text_encoding():
381381
ifsys.flags.utf8_mode:
382382
return"utf-8"
383383
else:
384-
# Lazy import to improve module import time
385-
importlocale
386384
returnlocale.getencoding()
387385

388386

@@ -1665,9 +1663,6 @@ def send_signal(self, sig):
16651663
# Don't signal a process that we know has already died.
16661664
ifself.returncodeisnotNone:
16671665
return
1668-
1669-
# Lazy import to improve module import time
1670-
importsignal
16711666
ifsig==signal.SIGTERM:
16721667
self.terminate()
16731668
elifsig==signal.CTRL_C_EVENT:
@@ -1769,9 +1764,6 @@ def _posix_spawn(self, args, executable, env, restore_signals, close_fds,
17691764
"""Execute program using os.posix_spawn()."""
17701765
kwargs= {}
17711766
ifrestore_signals:
1772-
# Lazy import to improve module import time
1773-
importsignal
1774-
17751767
# See _Py_RestoreSignals() in Python/pylifecycle.c
17761768
sigset= []
17771769
forsignamein ('SIGPIPE','SIGXFZ','SIGXFSZ'):
@@ -2221,13 +2213,9 @@ def send_signal(self, sig):
22212213
defterminate(self):
22222214
"""Terminate the process with SIGTERM
22232215
"""
2224-
# Lazy import to improve module import time
2225-
importsignal
22262216
self.send_signal(signal.SIGTERM)
22272217

22282218
defkill(self):
22292219
"""Kill the process with SIGKILL
22302220
"""
2231-
# Lazy import to improve module import time
2232-
importsignal
22332221
self.send_signal(signal.SIGKILL)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Reverts a change in the previous release attempting to make some stdlib
2+
imports used within the:mod:`subprocess` module lazy as this was causing
3+
errors during ``__del__`` finalizers calling methods such as ``terminate``, or
4+
``kill``, or ``send_signal``.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp