move to new vendoring fallback logic

This commit is contained in:
Nick Sweeting 2024-08-23 02:01:02 -07:00
parent eeb70c4018
commit 2c2d034d6d
No known key found for this signature in database
14 changed files with 54 additions and 16 deletions

View file

@ -11,13 +11,12 @@ from typing import Optional, Union, Set, Tuple
from subprocess import _mswindows, PIPE, Popen, CalledProcessError, CompletedProcess, TimeoutExpired
from crontab import CronTab
from .vendor.atomicwrites import atomic_write as lib_atomic_write
from atomicwrites import atomic_write as lib_atomic_write
from .util import enforce_types, ExtendedEncoder
from .config import PYTHON_BINARY, OUTPUT_PERMISSIONS, DIR_OUTPUT_PERMISSIONS, ENFORCE_ATOMIC_WRITES
def run(cmd, *args, input=None, capture_output=True, timeout=None, check=False, text=False, start_new_session=True, **kwargs):
"""Patched of subprocess.run to kill forked child subprocesses and fix blocking io making timeout=innefective
Mostly copied from https://github.com/python/cpython/blob/master/Lib/subprocess.py