diff options
author | Nadeshiko Manju <me@manjusaka.me> | 2025-05-05 01:15:31 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-05 01:15:31 (GMT) |
commit | 2bbcaedb75942389dacb51866948f40de5951c9c (patch) | |
tree | 653df3a0075990aae5695d7b61addfc47a062062 /Lib/subprocess.py | |
parent | 51d2459e4d70e9a6551d053b2492f9405a6d9f17 (diff) | |
download | cpython-2bbcaedb75942389dacb51866948f40de5951c9c.zip cpython-2bbcaedb75942389dacb51866948f40de5951c9c.tar.gz cpython-2bbcaedb75942389dacb51866948f40de5951c9c.tar.bz2 |
gh-133089: Use original timeout value for `TimeoutExpired` when the func `subprocess.run` is called with a timeout (GH-133103)
Signed-off-by: Manjusaka <me@manjusaka.me>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Diffstat (limited to 'Lib/subprocess.py')
-rw-r--r-- | Lib/subprocess.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py index da5f572..54c2eb5 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -1235,8 +1235,11 @@ class Popen: finally: self._communication_started = True - - sts = self.wait(timeout=self._remaining_time(endtime)) + try: + sts = self.wait(timeout=self._remaining_time(endtime)) + except TimeoutExpired as exc: + exc.timeout = timeout + raise return (stdout, stderr) @@ -2145,8 +2148,11 @@ class Popen: selector.unregister(key.fileobj) key.fileobj.close() self._fileobj2output[key.fileobj].append(data) - - self.wait(timeout=self._remaining_time(endtime)) + try: + self.wait(timeout=self._remaining_time(endtime)) + except TimeoutExpired as exc: + exc.timeout = orig_timeout + raise # All data exchanged. Translate lists into strings. if stdout is not None: |