From c1faeadd82933d86030a903ba4b98f599fc65284 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 17 Mar 2025 20:40:43 +0100 Subject: [PATCH] [3.12] gh-131325: fix sendfile fallback implementation to drain data after writing to transport (GH-131376) (#131378) gh-131325: fix sendfile fallback implementation to drain data after writing to transport (GH-131376) (cherry picked from commit 94f4d87aeb4d2d7bddcb4c3aad4f62a727ac91ee) Co-authored-by: Kumar Aditya --- Lib/asyncio/base_events.py | 2 +- .../next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 136c16318224..813a85dbc39d 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -1264,8 +1264,8 @@ class BaseEventLoop(events.AbstractEventLoop): read = await self.run_in_executor(None, file.readinto, view) if not read: return total_sent # EOF - await proto.drain() transp.write(view[:read]) + await proto.drain() total_sent += read finally: if total_sent > 0 and hasattr(file, 'seek'): diff --git a/Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst b/Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst new file mode 100644 index 000000000000..6c1f64eee6ad --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst @@ -0,0 +1 @@ +Fix sendfile fallback implementation to drain data after writing to transport in :mod:`asyncio`. -- 2.47.3