Use a memoryview to avoid memcopies

This commit is contained in:
Kovid Goyal 2022-03-04 13:41:23 +05:30
parent e797ba4800
commit ce620cec0a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -454,6 +454,7 @@ def parse_address_spec(spec: str) -> Tuple[AddressFamily, Union[Tuple[str, int],
def write_all(fd: int, data: Union[str, bytes], block_until_written: bool = True) -> None: def write_all(fd: int, data: Union[str, bytes], block_until_written: bool = True) -> None:
if isinstance(data, str): if isinstance(data, str):
data = data.encode('utf-8') data = data.encode('utf-8')
data = memoryview(data)
while data: while data:
try: try:
n = os.write(fd, data) n = os.write(fd, data)